在响应本机应用程序重启/关闭和打开时恢复联合凭据

时间:2018-10-23 16:48:21

标签: amazon-web-services amazon-cognito aws-amplify aws-pinpoint

要访问精确的端点,请使用aws cognito完成身份验证。 1.如何在应用关闭并打开/重新启动时恢复凭据。

根据文档

https://github.com/aws-amplify/amplify-js/wiki/FAQ   通过联合身份:通过这种方式,您实际上是使用Facebook或Google的JWT令牌从Cognito联合身份池中获得AWS凭证,这是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()

0 个答案:

没有答案