AWS Amplify - отключить учетную запись текущего пользователя - PullRequest
0 голосов
/ 05 июля 2018

Модуль AWS Amplify Authentication имеет несколько методов для таких действий, как вход, регистрация, забытый пароль и т. Д. Даже пользователь может обновить свою информацию, например:

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'
})

Однако я все равно не смог увидеть отключить (будьте осторожны, не удалять ) аккаунт.

Итак, пользователь может зарегистрироваться в веб-приложении, но не может деактивировать его с помощью AWS Amplify? Если нет, есть ли другие способы отключить пользователя AWS Cognito User Pool с помощью кода Javascript?

1 Ответ

0 голосов
/ 01 августа 2018

Я просмотрел документацию AWS для API Cognito User Pools и нашел несколько методов, которые позволяют функции с правами администратора отключать (а не удалять) учетную запись Cognito User Pool!

Вот ссылка на документацию на сайте 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

Код будет примерно таким, если использовать AWS SDK для JS:

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
});
...