我正在查看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使用安全的端点,这如何工作?它会自动检查身份验证吗?您没有发送令牌,所以我不知道它是如何工作的。感谢您的帮助!
答案 0 :(得分:0)
如果您使用Amplify,它将把控件保留在LocalStorage中。这将由扩增库管理。当第一个令牌过期时,它还负责请求新令牌。再说一次:您不必担心,图书馆将为您管理。
问题是:您还必须使用Amplify发送请求或AppSync。当您使用Amplify时,该库将看到您正在向AWS资源发出请求,并且您已登录Cognito,它将在发送请求之前将所需的HTTP标头附加到该请求。所有这些将由Amplify库为您完成。您可以使用它。.