восстановление федеративных учетных данных при реагировании на перезапуск / закрытие собственного приложения и открытие приложения - PullRequest
0 голосов
/ 23 октября 2018

Чтобы получить доступ к конечным точкам, аутентификация выполняется с помощью aws cognito.1. Как восстановить учетные данные, когда приложение закрыто и открыто / при перезапуске.

В соответствии с документами

https://github.com/aws-amplify/amplify-js/wiki/FAQ через федеративные удостоверения. Таким образом, вы фактически используетеJWT-токен от Facebook или Google, чтобы получить учетные данные AWS от Cognito Federated Identity Pool, который является еще одной службой от Cognito и не имеет никакого отношения к пулу пользователей.Таким образом, токен JWT не может быть получен из сеанса, потому что в этом случае у вас нет сеанса, а только токен из Facebook или Google.Amplify сохранит этот токен в Cache, чтобы вы могли этого достичь.

Я застрял в использовании токена снова / аутентифицировался, используя сохраненный токен

конфигурации

Amplify.configure({
Auth: {
  identityPoolId: COGNITO_IDENTITY_POOL_ID,
  mandatorySignIn: false,
  region: REGION,
},
refreshHandlers: {
  'developer': async () => {
    await refreshToken();
  }
},
AWSPinpoint: {
  appId: MOBILE_ANALYTICS_APP_ID,
  region: REGION,
  mandatorySignIn: false,
  autoSessionRecord: true
 }
});


const federatedAuth = async ({ identity_id, token }, user) => {
    let federatedCreden = await Auth.federatedSignIn(
    'developer',
    {
          token,
          identity_id,
          expires_at: COGNITO_TOKEN_EXPIRY_TIME
    },
    user
    ).catch(err =>{
          console.log('federated sign in : ', err);
    });

    let { name, id, school_id, email } = user;

    await Analytics.updateEndpoint({
      UserId: id
    });
}

обновление:

Я пытался с Auth.currentCredentials ()

...