在大多數情況下,在(本機)手機應用程序身份驗證的工作幾乎相同的方式,認證通過瀏覽器:用戶給他的證書,這些都通過線路服務器/應用程序發送的,並且應用程序通過給用戶一個表示認證會話的「令牌」做出響應。
的主要區別:基於瀏覽器的客戶一般會提出說使用HTML表單的HTTP POST憑證,使用application/x-www-form-urlencoded
。返回的標記通常以會話cookie的形式給出,瀏覽器在隨後的每個HTTP請求中都會顯示該cookie。
本地移動客戶端,另一方面,雖然作爲瀏覽器不是限制爲HTML的做事方式,並且大多數不使用cookie。
典型的移動客戶端使用Web服務API 。儘可能將大多數API設計爲無狀態(與瀏覽器/基於cookie的會話不同)。
大多數Web服務API還需要/希望能夠發送儘可能多的層次化複雜數據,儘可能使用盡可能少的帶寬。因此,他們贊成結構化數據的更簡潔的表示,例如JSON(或在某些情況下,BSON)。
在大多數情況下,爲好,不希望將目前的認證令牌的網址查詢參數(或者,如果你發送過JSON有效載荷,你還不如把憑證在那裏)。
出於這個原因,股票設計會話控制器和令牌認證機制是不充分的,以及如何提供延伸設計替代方案中,REST-FUL或基於JSON的認證,因此許多實例。
實際上,在最近的兩篇文章中,作者只是通過devise&token_authenticatable模塊給出了關於構建API的更多解釋。事實上,使用桌面和移動客戶端的令牌認證沒有區別 – railscard