簡體   English   中英

在Laravel 5.1 API中使用JWT

[英]Using JWT in laravel 5.1 api

我正在嘗試實現一個不錯的基於JWT的api,因此我已經閱讀了許多有關JWTs及其工作方式的文檔,但是我無法弄清楚一些事情:

  1. 當用戶登錄到應用程序時,我是否通過JWT傳遞用戶詳細信息? 例如, name,電子郵件和用戶permissions

  2. 我需要通過JWT傳遞所有內容嗎? 例如,從數據庫獲取頁面特定的數據或獲取所有博客文章或類似內容。

  3. 如何在后端查找用戶是否具有執行此操作的權限? 如何從令牌中獲取用戶詳細信息?

  4. 在這種情況下,我正在使用Tymon/JWT-Auth庫,這是目前我的應用程序工作方式的一些演示:

    1. 用戶向api/authenticate路由發送post請求,該請求登錄用戶並返回JWT令牌作為json以及用戶詳細信息- nameemailpermissions 因此,從服務器返回的數據如下所示:

    { "token": "blablabla", "user": { "email": "testin@test.com", "name": "Test User", "permissions": [ "can_edit_posts", "can_delete_users" ] } }

    JWT存儲在javascript中稱為token的全局變量中。 用戶數據存儲在用戶對象中。

    1. 用戶轉到“ blogs頁面。 該頁面向服務器發送GET請求,該請求檢索所有帖子: /blogs?token=[THAT_GLOBAL_VARIABLE_HERE]
    2. 服務器返回所有帖子的列表。
    3. 全局令牌變量將使用標頭中Bearer鍵中的任何內容進行更新。

這是正確的做法嗎?

您必須將令牌附加到稱為Authorization的特殊http標頭中,例如使用以下模式:

headers('Authorization: JWT aer5a4era456f4asrgt1aer46a');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM