[英]If REST applications are supposed to be stateless, how do facebook manages session for its api?
[英]REST API - User session Management in a stateless way
對於您中的許多人來說,這可能是微不足道的事情,但是我對理解用例的正確流程並沒有任何運氣。 我正在為我們的移動應用程序(IOS和Android)構建API,並且像大多數Web應用程序一樣,該API具有某些功能/頁面(就網站而言),僅登錄用戶才能訪問。 由於通常不鼓勵在API構造中使用會話,因此我想知道如何在API中跟蹤此類事件。 我的問題是,我該如何識別:
本質上,我正在尋找一些指導以無狀態方式維護狀態。
成功驗證用戶身份后,嘗試發送session_id。 這可能是通過user_name的md5哈希值(由當前時間戳記)創建的。
在服務器端,您可以創建一個表session_data(session_id,user_id,last_access_time,session_data),該表會將session_id映射到用戶。 在last_access_time過時之后,會話將變得過時。
這種方法不適用於激烈的用戶交互,因為您必須在每次請求后更新session_data。
在這種情況下,此類表可以移動到任何快速存儲中。
API開發中沒有登錄狀態等概念。這就是為什么它是無狀態的。 您必須對每個請求進行身份驗證(因此,請在每個請求中發送用戶名和密碼)。
注意:您可以進行會話,但是它由REST客戶端維護,因此API對此一無所知。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.