检查用户是否在laravel API路由中通过了身份验证

时间:2018-08-29 10:06:52

标签: laravel api laravel-passport

所以我知道API路由应该依赖会话身份验证,但是我的想法是创建一些API路由,如果需要第三方通过适当的身份验证可以使用这些路由,但是也可以在内部使用,即调用它来获取我的网页所需的数据。

我更改了LoginController,以便每次用户登录时,都会生成一个Personal Access令牌并将其存储在数据库中。注销时,此令牌将被删除。

为了不将令牌暴露给客户端,我想使用一种中间件,该中间件将在API调用上检测请求是否来自已通过身份验证的用户。如果是这种情况,我将检索属于用户的个人访问令牌,将其附加到请求,然后将其传递到API。

浏览器-查询site.com/api/myRoute -> 中间件添加用户令牌以请求Auth :: check( )-传递请求-> 控制器

我创建了一个虚拟API路由,以查看是否可以检测到用户是否已通过身份验证,但这似乎不起作用...我想是因为不包括“ auth”中间件。我确实包含了它,我在每次请求时都被重定向到首页...

Route::get('/test', function() {
    if(Auth::check()) {
        dd('Hello logged-in');
    } else {
        dd('Hello not logged-in');
    }
});

任何实现此目标的方法都值得赞赏!

0 个答案:

没有答案