您好我正在創建使用REST API端點與服務器端進行通信的移動本機應用程序。
我曾經有開發本地客戶端的經驗,但我有簡單的令牌(隨機生成的字符串)存儲在數據庫中的用戶信息存儲在同一個表中。所以它就像在瀏覽器中使用的會話,但不是Cookie,每個請求在標題中都有標記。JWT令牌登錄和註銷
最近我編輯了JWT令牌。這似乎是保護私密端點的好方法。您可以向移動客戶端請求令牌,只要您通過+登錄並獲取生成的令牌即可。
但是重要的是這個令牌不存儲在服務器上的任何地方,服務器使用私鑰對服務器進行驗證,祕密字對私人服務器是私有的。
對於受保護的端點無妨,但如果我需要用戶會話時該怎麼辦,例如Facebook,Amazon,Aliexpress等應用程序如何工作,他們有能力在不提供憑據的情況下使用應用程序,只需瀏覽商店,但是當用戶不想購買時需要登錄。之後,用戶會話保持一段時間。 這可以使用JWT令牌實現而沒有任何問題,但是當用戶需要註銷時,在這種情況下該怎麼辦?令牌不會存儲在服務器上的任何位置,那麼如何銷燬此令牌以使其無效?
如果令牌存儲在數據庫中,則API不是無狀態的,因爲REST API應該是。 所以一般來說,沒有辦法讓用戶登錄到無狀態的API中,對嗎?
我有一些想法如何使用JWT令牌來實現這一點,但這也不會是無狀態的API,據我所知。
- 創建過期令牌 名單
- 存儲在數據庫中智威湯遜的道理,但什麼是自描述性的記號在這種情況下,目的(JWT),如果它被存儲在數據庫中,智威湯遜的主要思想如我所知,用令牌保留所有信息。
請建議在這種情況下最好的方法是什麼,糾正我,如果我錯了。
謝謝。
什麼註銷是最主要的問題我在我intrested – eemrxoha