AWS Ошибка Cognito "попытка записи неавторизованного атрибута", но я добавил атрибут в пул - PullRequest
0 голосов
/ 20 февраля 2020

Я пытаюсь добавить пользовательский атрибут для моих пользователей cognito для hasSubscription и добавить / обновить его во время регистрации и входа в систему

        var hasSubscriptionAttribute = new AttributeType
        {
            Name = "custom:hasSubscription",
            Value = "0"
        };
        request.UserAttributes.Add(hasSubscriptionAttribute);

Я уже добавил атрибут в cognito через консоль enter image description here enter image description here

Тем не менее, я все еще всегда получаю сообщение об ошибке

Клиент пытался написать неавторизованный атрибут

Чего мне не хватает?

Ответы [ 2 ]

0 голосов
/ 20 февраля 2020

Хорошо, понял это благодаря https://medium.com/graymatrix/using-custom-attributes-in-amazon-cognito-user-pool-288cd3128bae

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

enter image description here

0 голосов
/ 20 февраля 2020

В вашей консоли вы объявили свой пользовательский атрибут "дважды" как пользовательский. Ваше поле имени custom:hasSubscription, но оно должно быть только hasSubscription. Cognito знает, что это поле является настраиваемым атрибутом по умолчанию.

Ваш запрос остается прежним.

Например: с вашим текущим объявлением вашего настраиваемого атрибута ваш запрос должно быть

var hasSubscriptionAttribute = new AttributeType
    {
        Name = "custom:custom:hasSubscription",
        Value = "0"
    };
    request.UserAttributes.Add(hasSubscriptionAttribute);

Я тоже допустил эту ошибку, и это сводило меня с ума:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...