3 回答
TA贡献1809条经验 获得超8个赞
好。所以显然你必须在expires_in中指定守卫'expires_in' => auth('api')->factory()->getTTL() * 60
我将函数更新为respondWithTokenAuthController.php
return response()->json([
'access_token' => $token,
'token_type' => 'bearer',
//'expires_in' => auth()->factory()->getTTL() * 60
'expires_in' => auth('api')->factory()->getTTL() * 60
]);
它修复了它。
TA贡献1866条经验 获得超5个赞
正确,但由于您正在处理 API,因此您可以按照以下方式将默认保护从 更改为 in:webapiconfig/auth.php
'defaults' => [
'guard' => 'api',
'passwords' => 'users',
],
然后,您可以在不指定守卫的情况下使用 auth:'expires_in' => auth()->factory()->getTTL() * 60
您可能还需要运行以清除缓存,并且一切都应该很好。php artisan optimize
TA贡献1900条经验 获得超5个赞
如果您要为 graphql 应用程序实现此功能,请确保将其包含在config/auth.php
'defaults' => [
'guard' => 'api',
'passwords' => 'users',
],
'guards' => [
'api' => [
'driver' => 'jwt',
'provider' => 'users',
],
],
也不要忘记在用户.php模型中实现implements JWTSubject
class User extends Authenticatable implements JWTSubject
{ use HasApiTokens, HasFactory, Notifiable;
public function getJWTIdentifier () {
return $this->getKey();
}
public function getJWTCustomClaims () {
return [];
}
}
- 3 回答
- 0 关注
- 165 浏览
添加回答
举报