Изменить AWS Cognitio «Включенные провайдеры идентификации» через Python SDK - PullRequest
0 голосов
/ 18 октября 2018

Существует настройка, которую я хочу изменить с помощью Python SDK для AWS Cognito.Я могу изменить настройки в веб-консоли AWS с помощью «Cognito -> Пулы пользователей -> Настройки клиента приложения -> Пул пользователей Cognito» (см. Изображение)

Вот мой код

client = boto3.client('cognito-idp')

client.update_user_pool_client(
    UserPoolId=USER_POOL_ID,
    ClientId=user_pool_client_id,
    SupportedIdentityProviders=[
        'CognitoUserPool'
    ]
)

Я получаю ошибку

An error occurred (InvalidParameterException) when calling the
UpdateUserPoolClient operation: The provider CognitoUserPool
does not exist for User Pool xxxxxx

Неясно, какие строковые значения я должен передать для SupportedIdentityProviders.Единственная подсказка, которую я видел, это https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-app-idp-settings.html

--supported-identity-providers '["MySAMLIdP", "LoginWithAmazon"]'

Я даже не уверен на 100%, относится ли SupportedIdentityProviders к настройке, которую я пытаюсь изменить, но не могу найти никакого пояснения вдокументы.

1 Ответ

0 голосов
/ 19 октября 2018

Правильное значение для передачи: COGNITO

client.update_user_pool_client(
    UserPoolId=USER_POOL_ID,
    ClientId=user_pool_client_id,
    SupportedIdentityProviders=[
        'COGNITO'
    ]
)

Я обнаружил это только путем просмотра исходного кода другого пользователя CloudFormation Custom resource https://github.com/rosberglinhares/CloudFormationCognitoCustomResources/blob/master/SampleInfrastructure.template.yaml#L105

Не могу найти правильноерешение этого вопроса от официальных документов AWS Docs / Boto3.Если кто-то знает, где задокументированы возможные значения SupportedIdentityProviders, прокомментируйте.

...