多表登录的问题?

请问下,我想把用户抽出来,单独使用一张比如叫 members 的用户表,我在设计表字段的时候,不想要 password 字段了,在小程序里用户点击授权后我后台就给他新建或者跟新用户信息,并颁发 token ,确实也颁发了,但是再拿这个令牌去访问接口(需要验证tokne)的时候提示无效的token。这是我的 auth

guards' => [
    'wx' => [
            'driver' => 'jwt', 
            'provider' => 'members',
        ],
    ],
    'providers' => [
        'members' => [
            'driver' => 'eloquent',
            'model' => \App\Models\Member::class, 
        ],
    ],

Models/Member.php:

.
.
.
class Member extends Model implements JWTSubject
.
.
.
 public function getJWTIdentifier()
 {
     return $this->getKey();
 }

 public function getJWTCustomClaims()
 {
     return [];
 }
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 3
liyu001989

你的 Token 是如何创建的,然后验证 token 是用的 api.auth?

5年前 评论
Jennie

@liyu001989 你好,我在新建或者更新用户信息之后,如下操作,进行颁发 token

 $token = Auth::guard('wx')->fromUser($user);

并不是常规的如下操作,因为我不用密码字段了。

 $credentials = $request->only('email', 'password');
 $token = Auth::guard('wx')->attempt($credentials);
5年前 评论
liyu001989

那就是验证的地方出问题了呗,token 生成是对的。dingo 的 api.auth 使用的是默认的 guard 中的 provider,你可以考虑使用 Laravel 自带的 auth:wx 进行验证,然后 controller 中统一使用 $reuqest->user() 获取用户

5年前 评论

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