首页 > 解决方案 > Laravel Passport:auth:api 未经授权返回?

问题描述

我有以下api路线:

Route::get('/user/get', function(Request $request) {

    return Auth::user();

})->middleware('auth:api');

用于测试上述内容的客户端应用程序:

   $access_token = 'd3f7333f7602c67e03cab2ab5171e893aeb731af0524d47864fb9d517de46f359a9dc6377195d46e';

    $ch = curl_init();
    $url = 'http://127.0.0.1:8000/api/user/get';
    $header = array(
        'Accept: application/json',
        'Authorization: Bearer '. $access_token
    );

    curl_setopt($ch,CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
    $result = curl_exec($ch);
    curl_close($ch);
    $response = json_decode($result);
    var_dump($result);

var_dump 结果总是:Unauthorized.

我已经从数据库表中复制了 access_token,它既没有被撤销也没有过期,表中只有一个 access_token。

那么为什么上述方法不起作用 - 任何想法我做错了什么?

标签: apilaravel-5.6laravel-passport

解决方案


ok 看起来数据库表中的令牌是加密的,或者这可能是它不起作用的原因。当我使用从http://127.0.0.1:8000/oauth/token返回的令牌时,它就可以工作了。


推荐阅读