Amazon Cognito需要一些说明

时间:2020-04-03 23:10:29

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

我正在查看AWS Amplify和AWS Cognito文档,我需要解释一些内容。输入以下代码:

Auth.signIn({
    username, // Required, the username
    password, // Optional, the password
    validationData, // Optional, a random key-value pair map which can contain any key and will be passed to your PreAuthentication Lambda trigger as-is. It can be used to implement additional validations around authentication
}).then(user => console.log(user))
.catch(err => console.log(err));

Here is some more code from the documentation:

Auth.signUp({
    username,
    password,
    attributes: {
        email,          // optional
        phone_number,   // optional - E.164 number convention
        // other custom attributes 
    },
    validationData: []  //optional
    })
    .then(data => console.log(data))
    .catch(err => console.log(err));

我的问题是,令牌存储在哪里?您是否将它们存储在状态中?如果是这样的话,他们怎么会刷新。还是由Auth来解决,您可以在需要时致电auth。如果是这样,您是否必须使用withAuthenticator包装整个ap?我不明白谢谢!

此外,如果您希望通过AppSync使用安全的端点,这如何工作?它会自动检查身份验证吗?您没有发送令牌,所以我不知道它是如何工作的。感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

如果您使用Amplify,它将把控件保留在LocalStorage中。这将由扩增库管理。当第一个令牌过期时,它还负责请求新令牌。再说一次:您不必担心,图书馆将为您管理。

问题是:您还必须使用Amplify发送请求或AppSync。当您使用Amplify时,该库将看到您正在向AWS资源发出请求,并且您已登录Cognito,它将在发送请求之前将所需的HTTP标头附加到该请求。所有这些将由Amplify库为您完成。您可以使用它。.