Laravel 护照:auth:api returns 未经授权?
Laravel Passport: auth:api returns unauthorised?
我有以下 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.
我从数据库table复制了access_token,它既没有被撤销也没有过期,table中只有一个access_token。
那么为什么上面的方法不起作用 - 知道我做错了什么吗?
ok 看起来数据库 table 中的令牌已加密或可能是它不起作用的原因。当我使用从 http://127.0.0.1:8000/oauth/token 返回的令牌时,它就起作用了。
我有以下 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.
我从数据库table复制了access_token,它既没有被撤销也没有过期,table中只有一个access_token。
那么为什么上面的方法不起作用 - 知道我做错了什么吗?
ok 看起来数据库 table 中的令牌已加密或可能是它不起作用的原因。当我使用从 http://127.0.0.1:8000/oauth/token 返回的令牌时,它就起作用了。