我有 dingo/laravel 的 api。通常适用于移动设备(android)没有问题。
我在 dingo/laravel 中的 AuthController@token:
public function tokenRefresh()
{
$token = JWTAuth::getToken(); // Header:Auth..Baerer ...
if (!$token) {
throw new BadRequestHttpException('Token not provided');
}
try {
$token = JWTAuth::refresh($token);
} catch (TokenInvalidException $e) {
throw new AccessDeniedHttpException('The token is invalid');
}
return $this->response->withArray(['token' => $token]);
}
我用 nw.js 制作了另一个应用程序,并使用它来请求模块。我的示例登录请求:
requestify.request(this.authUrl, {
method : 'POST',
body : {
email: document.getElementById('email').value,
password: document.getElementById('password').value
},
headers : {
'X-Forwarded-By': 'me'
},
dataType: 'json'
}).then(function (response) {
var body = response.getBody();
alert(body.token);
});
它的请求通常会返回有效的令牌。没关系。
过期令牌怎么样?我应该怎么办?也许,有点像之前所有请求的 ajaxSetup。令牌过期时我需要自动刷新令牌。你有什么建议吗?