Я новичок в мире AWS, и у меня возникла проблема при попытке создать сеанс аутентификации из Cognito Tokens. Я хочу использовать Auth, потому что я понял, что он автоматически обновляет sh токен доступа.
У нас есть одноранговый сайт, на котором пользователи входят в систему и затем могут перейти на наш сайт. Мы получаем пользовательские AWS токены Cognito (access, id и refre sh) с нашего однорангового сайта, и мы хотим использовать эти токены для авторизации вызовов REST API.
Я планировал использовать AWS -Amplify: Auth.currentSession (). Но для этого нам нужно создать сессию из токенов.
Я пытался сделать следующее:
access_token = ''//the access token value
id_token= '' //the id token
refresh_token = '' //the refresh token
AuthConfig = {
region: '', //the region value
userPoolId: '', //the user pool id value
clientId: '', //the client id value
userPoolWebClientId: '' //the user pool web client id value
};
amplify = Amplify.configure({
Auth: this.AuthConfig
});
localSession = new CognitoUserSession({
IdToken: new CognitoIdToken({ IdToken: this.id_token }),
RefreshToken: new CognitoRefreshToken({ RefreshToken: this.refresh_token }),
AccessToken: new CognitoAccessToken({ AccessToken: this.access_token }),
});
async t()
{
Auth.currentCredentials = async () => this.localSession;
try
{
Auth.currentSession().then(function(session) {
console.log(JSON.stringify(session))
}, function(err) {
console.log(err)
})
}
catch (ex)
{
console.warn(`Exception: ${ex}`);
}
}
Но я получил исключение: «Нет текущего пользователя».
Как я могу создать сеанс из токенов?