Laravel 5.4将JWTauth与正常身份验证一起使用

Laravel 5.4将JWTauth与正常身份验证一起使用,laravel,authentication,Laravel,Authentication,我和我的朋友正在创建一个应用程序。我使用Laravel5.4作为后端,他使用Angular2作为前端 Laravel项目用作带有JWTauth令牌身份验证的RESTAPI。 现在,我想在Laravel项目中创建一个只有管理员才能访问的小型后端仪表板 当我浏览到api后端部分时,如何使用不同的身份验证(带有会话)而不是令牌?这非常简单。只需将JWT认证中间件应用于API路由,将普通认证中间件应用于管理仪表板。您甚至不需要调整任何内容,因为JWT不需要更改表结构或更改现有的auth 使用auth和g

我和我的朋友正在创建一个应用程序。我使用Laravel5.4作为后端,他使用Angular2作为前端

Laravel项目用作带有JWTauth令牌身份验证的RESTAPI。 现在,我想在Laravel项目中创建一个只有管理员才能访问的小型后端仪表板


当我浏览到api后端部分时,如何使用不同的身份验证(带有会话)而不是令牌?

这非常简单。只需将JWT认证中间件应用于API路由,将普通认证中间件应用于管理仪表板。您甚至不需要调整任何内容,因为JWT不需要更改表结构或更改现有的auth


使用
auth
guest
中间件,使用内置的int-auth支架构建后端仪表板。对于api路由,如果您使用的是
tymondesigns/jwt auth
包,请使用标准的
api
中间件以及
jwt.auth
中间件。这两者不会有冲突。

兄弟使用单独的防护装置,如

$loginUser = Auth::guard('web')->loginUsingId(12,true);  

我知道我可以使用中间件,但这不会让我正确登录。我只是浏览到/login路径,它显示了登录表单,我登录,然后我从api得到响应。一个JSON格式的用户模型,包含令牌和内容。。。我没有通过会话登录,因为如果我转到/主页,它会再次提示我进入登录页面。您需要分离您的路由。将仪表板路由保留在
web.php
中,并为此使用标准身份验证。然后您就有了会话和cookie,它们具有正常的流。为什么要混合使用api和仪表板路由?如果你这样做,你只会使代码库复杂化。不,我正按照你说的做。我将我的仪表板路由放在带有中间件“web”的web.php文件中,api路由放在带有auth:api中间件的api.php文件中。。。但是,当我登录时,它就像API的登录方法被触发一样……您需要重新检查您的路由和应用于它们的中间件。运行
php artisan route:list
它应该让您清楚地了解您的路由以及应用于每个路由的中间件。这就是问题所在,两个登录(api和web)都是相同的,它们使用LoginController@Login方法。。。如何使web中间件使用正常登录?