Как получить и обновить атрибуты пользователя AWS Ampify Angular 6 - PullRequest
0 голосов
/ 06 декабря 2018

Как бы я изменил атрибуты пользователя Cognito после регистрации в приложении?Какой API следует использовать для получения сведений о пользователе, таких как имя, фамилия и т. Д.?Какой API следует использовать для обновления данных пользователя?

1 Ответ

0 голосов
/ 06 декабря 2018

Для получения сведений о пользователе , просто используйте this.amplifyService.auth().currentAuthenticatedUser() и получите поля user.attributes.

/**
 * Get current authenticated user
 * @return - A promise resolves to curret authenticated CognitoUser if success
 */
currentAuthenticatedUser(): Promise<CognitoUser | any>;

Для обновите атрибуты ,используйте метод updateUserAttributes.

/**
 * Update an authenticated users' attributes
 * @param {CognitoUser} - The currently logged in user object
 * @return {Promise}
 **/
updateUserAttributes(user: CognitoUser | any, attributes: object): Promise<string>;

Если вам нужно получить CognitoUser, вы можете следовать Change password примеру документации:

import { Auth } from 'aws-amplify';

Auth.currentAuthenticatedUser()
    .then(user => {
        return Auth.changePassword(user, 'oldPassword', 'newPassword');
    })
    .then(data => console.log(data))
    .catch(err => console.log(err));
...