joe*_*pat 2 laravel laravel-passport laravel-api laravel-7
我如何检查当前用户从控制器访问方法是否经过身份验证,相关 API 路由不受任何身份验证中间保护,因为该路由可供公众和访客用户访问,我检查了我的请求标头不记名令牌正在通过,我正在为我的路线使用反应路由器。api驱动程序是passport
公共路线:
Route::get('product/list', 'ProductController@index')
尝试过什么:
将默认的 AUTH Guard 更改为api。
Auth()->guard('api')->check()尝试在控制器方法中显式调用。
if (Auth()->guard('api')->check()) {
return 'is_favourite';
} else {
return 'unauthenticated';
}
Run Code Online (Sandbox Code Playgroud)
Auth()->check() if (Auth()->check()) {
return 'is_favourite';
} else {
return 'unauthenticated';
}
Run Code Online (Sandbox Code Playgroud)
结果:
总是'unauthenticated'
预期结果:is_favourite在标头中传递承载令牌时的结果,如果未提供承载令牌,则为“未经身份验证”。
我终于让它工作了,尝试了一下,它成功了:
if (auth('api')->check()) {
return 'is_favourite';
} else {
return 'unauthenticated';
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2285 次 |
| 最近记录: |