aws php刷新令牌,没有返回刷新令牌

时间:2020-09-13 09:27:22

标签: php laravel amazon-cognito aws-php-sdk

我有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的结果,我无法再次刷新令牌吗?

0 个答案:

没有答案