所以我知道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');
}
});
任何实现此目标的方法都值得赞赏!