Roh*_*aei 2 middleware routes oauth laravel laravel-passport
我有 auth:api 中间件的问题!当我为非身份验证用户定义这样的路由时,我们有一个请求可供身份验证用户和非身份验证用户访问:
Route::post('{user}/leads', 'UsersController@getContact');
Run Code Online (Sandbox Code Playgroud)
当来宾用户请求此路线时,一切正常。是,我可以访问用户$request->user();
但是如果使用承载头传递令牌并获取用户$request->user()当然它不起作用!因为我们没有auth:api在这条路线上使用,如果我们这样做了,我们将无法与来宾用户一起访问这条路线!所以我找不到一种方法,我们为两个经过身份验证的用户定义一条路由,如果用户经过身份验证,我们就会得到$request->user()并且没有经过身份验证的用户也可以访问该路由!
提前致谢。
我找到了一种方法,我刚刚写了这个:
$middleware = ['api'];
if (\Request::header('Authorization'))
$middleware = array_merge(['auth:api']);
Route::group(['prefix' => 'v1', 'namespace' => 'Api', 'middleware' => $middleware], function () {
//routes here
});
Run Code Online (Sandbox Code Playgroud)
在 api.php 路由文件中,它工作正常。谢谢
| 归档时间: |
|
| 查看次数: |
1838 次 |
| 最近记录: |