我通过aws sdk cognito .net sdk在亚马逊认知中创建用户。当用户登录时,他们会返回3个令牌(IdToken,AccessToken和RefreshToken)。 IdToken有效期为1小时。目前,当令牌过期时,用户被重定向到登录页面。我想要做的是在收到403返回时发送RefreshToken,但我不确定如何在角度应用程序中执行此操作?
我也假设这是我在客户端而不是在服务器端(.net web api)处理的东西?
我目前在我的路线上有警卫从我的服务中调用以下功能:
sprintf("&#x%X;", ord($1))
以下有效,但问题是我必须使用s/([^\x09\x0A\x0D\x20-\x21\x23-\x25\x28-\x3B\x3D\x3F-\x7E])/ sprintf("&#x%X;", ord($1)) /eg;
和 loggedIn() {
return tokenNotExpired('token');
}
:
AccessKey
答案 0 :(得分:5)
你有正确的想法,一旦你获得4xx状态,你可以使用刷新令牌来获得一组新的令牌。 JavaScript中的代码如下:
const AWS = require('aws-sdk')
const cognitoisp = new AWS.CognitoIdentityServiceProvider();
var params = {
AuthFlow: 'REFRESH_TOKEN',
ClientId: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx',
UserPoolId: 'region_xxxxxxxx',
AuthParameters: {
'REFRESH_TOKEN': 'xxxxxxxxxxxxxxxxxxxxx'
}
}
cognitoisp.adminInitiateAuth(params, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data); // successful response
});