Laravel5.5 jwt 驗證

在中間件中使用JWTAuth::parseToken()->authenticate() 驗證token時,只能使用默認模型,除非改config/auth.php 的defaults 改成使用的那個
laravel5.5 jwt 驗證
可以在不改這個默認配置的前提下 ,能夠使JWTAuth::parseToken()->authenticate() 不使用默認user模型嗎

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
最佳答案

可以在登陆的时候临时设置你要使用哪个 例如你在前台登陆可以在前台登陆控制器的初始化中这么写

    public function __construct(Manager $manager)
    {
        $this->manager = $manager;
        config()->set('auth.defaults.guard','home');
        $this->middleware('auth:home',['except' => ['login']]);
    }

然后后台登陆控制器

    public function __construct(Manager $manager)
    {
        $this->manager = $manager;
        config()->set('auth.defaults.guard','admin');
        $this->middleware('auth:admin',['except' => ['login']]);
    }

主要在于

 config()->set('auth.defaults.guard','admin');

然后正常使用就可以了

4年前 评论
cccdz (楼主) 4年前
讨论数量: 8

因為我這邊指定的gruad 為api 然後 指定的模型自定義的模型 在中間件中使用WTAuth::parseToken ()->authenticate () 這個的時候他去找默認的user 模型去了 ,然後我只能改defaults.gruad ,但是我不想去動這個配置 ,不知道有沒有什麼解決辦法

4年前 评论
Jennie

实在不想动这个配置,你可以在使用的时候选择 guard,比如这样:

// 默认 auth() 不填就是 user
auth('api')->parseToken()->authenticate();
4年前 评论

我剛剛試了一下,報錯了,說沒有定義authenticate這方法

file

file 我記得好像是這樣吧 $this->auth->parseToken()->authenticate()

4年前 评论

可以在登陆的时候临时设置你要使用哪个 例如你在前台登陆可以在前台登陆控制器的初始化中这么写

    public function __construct(Manager $manager)
    {
        $this->manager = $manager;
        config()->set('auth.defaults.guard','home');
        $this->middleware('auth:home',['except' => ['login']]);
    }

然后后台登陆控制器

    public function __construct(Manager $manager)
    {
        $this->manager = $manager;
        config()->set('auth.defaults.guard','admin');
        $this->middleware('auth:admin',['except' => ['login']]);
    }

主要在于

 config()->set('auth.defaults.guard','admin');

然后正常使用就可以了

4年前 评论
cccdz (楼主) 4年前
Jennie

嗯 是的,我的写法有误,之前自己做了多表认证有研究过,现在模糊了。你可以参考下这篇文章,可能对你有帮助: 博客:Laravel JWT 多表多用户登录

4年前 评论
cccdz (楼主) 4年前

可以在登录的时候选择用户组啊

auth('wx-api')->login($user)
auth('admin')->login($user)
4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!