簡體   English   中英

獲取經過身份驗證的用戶 Laravel/Lumen Passport

[英]Get Authenticated User Laravel/Lumen Passport

我正在使用 lumen 來構建我的 api 和用於 api 身份驗證的通行證。

我的用戶信息都記錄在用戶表中,而用戶的密碼存儲在另一個表中(登錄) - (一對一關系)

使用授權一切正常(我可以創建不記名令牌並使用它訪問 auth:api 中間件)但問題是,一旦我使用不記名令牌登錄,我就無法獲得經過身份驗證的用戶信息。

我試過了

Auth::user();
$request->user();
Auth::guard('auth')->user();

但是所有這些函數都返回null

請幫助我訪問經過身份驗證的用戶。

網頁.php

$router->group(['prefix' => 'dev', 'namespace' => 'Dev'], function ($router) {
    //Generates Bearer Access Token for api access
    $router->post('accessToken', 'TestController@createAccessToken');

    //protected api
    $router->group(['prefix' => 'auth', 'middleware' => 'auth:api'], function ($router) {
        $router->get('authenticated-user', 'TestController@getAuthenticatedUser');
    });
});

測試控制器.php

public function getAuthenticatedUser(Request $request)
{
    //die('test');
    dd(Auth::user());//returns null
}

你已經使用了 Illuminate\\Http\\Request 嗎? 或 Dingo\\Api\\Http\\Request?

function getAuthUserData(Request $request){

    $userDt=$request->user();

    return $userDt;
}

這對我有用

根據 Laravel Lumen 7.x 的文檔,您可以使用 Auth::user() 或 $request->user() 來獲取經過身份驗證的用戶,只要您通過 url Lumen Doc傳遞令牌

暫無
暫無

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

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