我对Laravel 5.5中的tymon/jwt-auth:1.0.0-rc1
包有这个奇怪的问题。
我已经安装了软件包,并按照如何配置默认值的说明(来自此链接:http://jwt-auth.readthedocs.io/en/docs/laravel-installation),除此之外我唯一改变的是我设置了JWT_TTL=1
(出于测试目的),在我的.env
文件中,JWT_REFRESH_TTL
仍然是默认值(2周)。
现在我可以在发送凭据时生成令牌,我也可以在JWT_TTL
未过期时刷新令牌,但是当JWT_TTL
到期时我尝试刷新令牌但是JWT_REFRESH_TTL
不是,我收到401: Unauthenticated.
回复..
这是正常行为吗?如果是这样,为什么首先会有JWT_REFRESH_TTL
?
有什么方法可以解决这个问题,还是我不明白这一点?
提前致谢! :)
修改
我取得了一些进展,虽然我不知道这是否是正确的做法..
在1.0.0-rc1
的文档中:
$this->middleware('auth:api', ['except' => ['login']]);
因此刷新路由受到保护,但当令牌过期时,它并没有通过auth中间件,所以我添加了这样的刷新路径:
$this->middleware('auth:api', ['except' => ['login', 'refresh']]);
我不知道这是否有副作用,或者他们忘记将其添加到文档中?