2017-09-05 68 views
0

我已經創建了Laravel 5.4應用程序,這是一個基於REST的API,用於向客戶提供有關我們庫存的數據。如何找出控制器中的令牌名稱?

我已經實現了基於Passport的身份驗證,並且我的客戶創建了「個人訪問令牌」,並在其客戶端請求中使用該令牌。所有這一切都工作正常。

我現在需要計算API的用法來確定哪個用戶以及哪個令牌(按名稱)發出請求。

我能夠通過使用$request->session();獲得用戶,但是如何獲取發出請求的令牌的名稱?

+0

你是什麼意思'獲取令牌的名稱? ' –

+0

當用戶創建個人訪問令牌時,他或她輸入一個名稱,並存儲在'oauth_access_tokens'表中。我想記錄此名稱以及請求,以便計量這些API調用,並在本月底向用戶發送賬單 –

回答

0

爲有效令牌Laravel護照搜索在兩個位置:

當煮了,你可以用這個方法來找到令牌你尋求:

$token = $request->bearerToken() ?? $request->cookie(Passport::cookie()); 
+0

客戶端在其授權標頭中指定其訪問令牌爲持票人令牌請求。如果我在答案中使用了代碼,我會收到一個錯誤,提示「方法持有人不存在」,並且客戶端不會隨其請求一起發送任何Cookie。 –

+0

你可以仔細檢查$ request的類是\ Illuminate \ Http \ Request嗎? – Quezler

+0

編輯:我的錯誤:使用 - > bearerToken()代替 - > bearer() – Quezler