Можно ли создать сеанс аутентификации из токенов? - PullRequest
0 голосов
/ 27 апреля 2020

Я новичок в мире 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}`);
    }
}

Но я получил исключение: «Нет текущего пользователя».

Как я могу создать сеанс из токенов?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...