AWS Amplify Authentication module 有一些操作方法,例如登录、注册、忘记密码等。甚至可以让用户通过以下方式更新他/她的信息:
import { Auth } from 'aws-amplify'
// Auth API Sign-in sample
Auth.signIn(username, password)
.then(user => console.log(user))
.catch(err => console.log(err))
// Auth API Change info sample
let result = await Auth.updateUserAttributes(user, {
'email': 'me@anotherdomain.com',
'family_name': 'Lastname'
})
但是,无论如何我都看不到 禁用 (注意, 不要删除 )一个帐户。
那么,用户可以注册 Web 应用程序,但不能使用 AWS Amplify 停用它吗?如果没有,是否还有其他方法可以通过 Javascript 代码禁用 AWS Cognito 用户池用户?
最佳答案
我浏览了 Cognito 用户池 API 的 AWS 文档,发现了一些方法可以让具有管理员权限的函数禁用(而不是删除)Cognito 用户池帐户!
这是 AWS 网站上文档的链接:
https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminDisableUser.html
还有一种方法可以重新启用用户:
https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminEnableUser.html
可以在此处找到此 javascript 实现:
https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CognitoIdentityServiceProvider.html#adminDisableUser-property
使用适用于 JS 的 AWS 开发工具包,代码将类似于以下内容:
var cognitoidentityserviceprovider = new AWS.CognitoIdentityServiceProvider({apiVersion: '2016-04-18'});
var params = {
UserPoolId: 'STRING_VALUE', /* required */
Username: 'STRING_VALUE' /* required */
};
cognitoidentityserviceprovider.adminDisableUser(params, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data); // successful response
});
关于amazon-web-services - AWS Amplify - 禁用当前用户账户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51190557/