#amazon-web-services #single-sign-on #amazon-cognito #saml
Вопрос:
Я хотел бы связать нового пользователя, использующего единый вход, с существующим пользователем cognito. Для достижения этой цели у cognito есть конечная точка AdminLinkProviderForUser. Но эта конечная точка возвращает ошибку ниже, и я не могу изменить конфигурацию атрибута пользователя, так как Cognito мне этого не позволяет.
Cannot update attribute: custom:someCustomAttribute: Attribute cannot be updated. (Service: AWSCognitoIdentityProvider; Status Code: 400; Error Code: InvalidParameterException; Request ID: Xxxxxxxxxx; Proxy: null): com.amazonaws.services.cognitoidp.model.InvalidParameterException: Cannot update attribute: custom:someCustomAttribute: Attribute cannot be updated.
Существует ли какой-либо другой способ связать федеративного пользователя единого входа на основе SAML с существующим пользователем cognito (имя пользователя-пароль)?
Большое спасибо!
Ответ №1:
Я связался с AWS по этому поводу, и, по-видимому, отката не будет, если вы создали неизменяемый атрибут пользователя, поэтому мы в конечном итоге создадим пользователей заново, чтобы связать их.
Комментарии:
1. Эй, спасибо, что продолжили! Я сталкиваюсь с той же проблемой. Как бы вы воссоздали пользователя, чтобы связать их? Можем ли мы сделать ссылку как часть команды регистрации? Разве это не выводит пользователя из системы среди прочих проблем? Я думаю, что предпочел бы создать идентичный изменяемый атрибут и использовать его в дальнейшем. Почему adminlink в любом случае касается этих атрибутов?
2. Эй, @мальчик, Прежде всего, мне пришлось создать новый идентичный
mutable
атрибут пользователя, чтобы заменить неизменяемые атрибуты пользователя cognito, и обновить всех пользователей, чтобы избежать исключения InvalidParameterException во время операции связывания. Почему adminlink прикасается к этому, для меня тоже загадка.. Что касается повторного создания, у меня есть скрипт на python для повторного создания пользователя, который вызывает конечную точку бэкенда, и эта конечная точка создает пользователя с новыми изменяемыми атрибутами и выполняет другие операции, такие как отправка электронной почты и т. Д.