laravel jwt 用户密码 md5 加密导致的认证问题

$credentials = $request->only('password', 'mobile');
try { // 验证数据,生成token 
    if (!$token = JWTAuth::attempt($credentials)) <br></br>

这个是做JWT登录验证,如果user 表中的password 是经过bcrypt 加密。现在的问题是 APP给我注册密码是经过MD5加密,在后台不需要做bcrypt加密,但是不做bcrypt加密jwt登录认证不能通过,请问,怎么让修改jwt,认证不用bcrypt加密的password。

JellyBool

试试这样:

//$user =  数据库查找用户
if($user->password === md5($request->get('password'))){
   $authUser = Auth::login($user);
   $token = JWTAuth::fromUser($authUser);
}
qiudaoyu

嗯,你说的方法可以 ,多谢

qiudaoyu

@JellyBool 多谢 大神,在多问个问题,还存活的token(还没过1个小时),我怎么让它失效

JellyBool

这样满足你的需求不:

$token = JWTAuth::refresh($token);
qiudaoyu

@JellyBool 嗯,这个是可以的,大哥,最后一个问题,前端传过来一个token,我try的时候发现token已经过期,于是我catch中refresh了token。那怎么更新这个request中的token为新的,让这次请求通过验证。还是只能返回新的token回去,让前端重新发送请求?