Чтобы получить доступ к конечным точкам, аутентификация выполняется с помощью 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 ()