Получить атрибуты пользователя AWS Amplify iOS SDK - PullRequest
0 голосов
/ 06 декабря 2018

Я создаю приложение для iOS с SDK Amplify, поэтому мои пользователи зарегистрированы на AWS.

У меня уже работает процесс входа в систему / регистрации, но проблема в том, что в самой новой версииSDK У меня нет абсолютно никакого представления о том, как я могу получить атрибуты зарегистрированного пользователя, такие как его фамилия, адрес электронной почты и т. д ...

С этим новым SDK кажется, что все работает вокруг класса AWSMobileClient, но яне вижу в этом классе ничего, что могло бы помочь мне получить то, что я хочу.

Официальная документация анемична и не охватывает и даже не указывает на мой вариант использования.

Если кто-то может дать мне подсказку или даже хорошие источники, я буду очень благодарен!

Ответы [ 3 ]

0 голосов
/ 05 января 2019

Привет, YoanGJ и будущие гости,

На основании вашего комментария вы искали пример кода.

    AWSMobileClient.sharedInstance().getUserAttributes { (attributes, error) in
            if let attributes = attributes {
                XCTAssertTrue(attributes.count == 3, "Expected 3 attributes for user.")
                XCTAssertTrue(attributes["email_verified"] == "false", "Email should not be verified.")
            }else if let error = error {
                XCTFail("Received un-expected error: \(error.localizedDescription)")
            }
            getAttrExpectation.fulfill()
}

Этот отрывок показывает, как можно позвонить getUserAttributes, и он основан на интеграционных тестах, найденных здесь .

0 голосов
/ 21 мая 2019

Для заметки:

Убедитесь, что вы настроили соответствующее разрешение на чтение и запись атрибута в вашем клиенте приложения пула Cognito * дляполучить доступ к вашим атрибутам пользователя, используя getUserAttributes.

Чтобы настроить атрибуты для чтения и записи в пуле пользователей,

Пул пользователей -> Общие настройки -> Клиенты приложения -> Выберите клиент приложения -> Показать сведения -> Установить атрибутразрешения на чтение и запись

enter image description here

Спасибо!

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

Метод отсутствовал в первоначальном выпуске и с тех пор был добавлен.Вы можете использовать getUserAttributes со следующим API в последней версии SDK 2.8.x:

public func getUserAttributes(completionHandler: @escaping (([String: String]?, Error?) -> Void))

Исходный код можно найти здесь:

https://github.com/aws-amplify/aws-sdk-ios/blob/master/AWSAuthSDK/Sources/AWSMobileClient/AWSMobileClientExtensions.swift#L532

Спасибо, Рохан

...