【发布时间】:2019-03-08 19:33:16
【问题描述】:
我正在使用 Amazon Cognito 登录用户并保存 RefreshToken,这样他们就不必在初始设置后输入密码。我需要能够使用RefreshToken 登录并获得一个新的RefreshToken 以备下次使用。但是,当我调用InitiateAuthAsync 时,它不会返回RefreshToken。
C#:
var refreshReq = new InitiateAuthRequest();
refreshReq.ClientId = _clientId;
refreshReq.AuthFlow = AuthFlowType.REFRESH_TOKEN_AUTH;
refreshReq.AuthParameters.Add("SECRET_HASH",
SecretHash(_clientId, _clientSecret, username));
refreshReq.AuthParameters.Add("REFRESH_TOKEN", refreshToken);
var clientResp = cognitoProvider.InitiateAuthAsync(refreshReq).Result;
回复:
{
"AuthenticationResult": {
"AccessToken": "<accessToken>",
"ExpiresIn": 3600,
"IdToken": "<idToken>",
"TokenType": "Bearer"
},
"ChallengeParameters": {}
}
这是来自使用有效 ResponseToken 登录的响应:
{
"AuthenticationResult": {
"AccessToken": "<accessToken>",
"ExpiresIn": 3600,
"IdToken": "<idToken>",
"RefreshToken": "<refreshToken>",
"TokenType": "Bearer"
},
"ChallengeParameters": {}
}
【问题讨论】:
标签: c#-4.0 amazon-cognito