[英]Using JWT in laravel 5.1 api
我正在嘗試實現一個不錯的基於JWT
的api,因此我已經閱讀了許多有關JWTs
及其工作方式的文檔,但是我無法弄清楚一些事情:
當用戶登錄到應用程序時,我是否通過JWT
傳遞用戶詳細信息? 例如, name,
電子郵件和用戶permissions
。
我需要通過JWT
傳遞所有內容嗎? 例如,從數據庫獲取頁面特定的數據或獲取所有博客文章或類似內容。
如何在后端查找用戶是否具有執行此操作的權限? 如何從令牌中獲取用戶詳細信息?
在這種情況下,我正在使用Tymon/JWT-Auth
庫,這是目前我的應用程序工作方式的一些演示:
api/authenticate
路由發送post
請求,該請求登錄用戶並返回JWT
令牌作為json
以及用戶詳細信息- name
, email
和permissions
。 因此,從服務器返回的數據如下所示: { "token": "blablabla", "user": { "email": "testin@test.com", "name": "Test User", "permissions": [ "can_edit_posts", "can_delete_users" ] } }
JWT
存儲在javascript中稱為token
的全局變量中。 用戶數據存儲在用戶對象中。
blogs
頁面。 該頁面向服務器發送GET
請求,該請求檢索所有帖子: /blogs?token=[THAT_GLOBAL_VARIABLE_HERE]
Bearer
鍵中的任何內容進行更新。 這是正確的做法嗎?
您必須將令牌附加到稱為Authorization的特殊http標頭中,例如使用以下模式:
headers('Authorization: JWT aer5a4era456f4asrgt1aer46a');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.