要访问精确的端点,请使用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()