我有aws sdk php cognito来刷新令牌,
public function refreshToken($username, $refreshToken)
{
try {
$response = $this->client->initiateAuth([
'AuthFlow' => 'REFRESH_TOKEN_AUTH',
'AuthParameters' => [
'SECRET_HASH' => $this->cognitoSecretHash($username),
'REFRESH_TOKEN' => $refreshToken
],
'ClientId' => $this->client_id,
]);
} catch (CognitoIdentityProviderException $exception) {
if ($exception->getAwsErrorCode() === self::NOT_AUTHORIZED) {
$this->add_error('You are unauthorized to access this resource');
return false;
}
throw $exception;
}
return $response;
}
对于刷新令牌返回成功200,但是对于缺少AuthenticationResult中的返回RefreshToken:
[
'AuthenticationResult' => [
'AccessToken' => '<string>',
'ExpiresIn' => <integer>,
'IdToken' => '<string>',
'RefreshToken' => '<string>', // return missing RefreshToken
'TokenType' => '<string>',
],
...
]
为什么缺少AuthenticationResult中的RefreshToken?如果无法提供InitialAuth REFRESH_TOKEN_AUTH的结果,我无法再次刷新令牌吗?