我想通过Python SDK恢复AWS Cognito来更改一个设置。我可以通过“ Cognito->用户池-> App Client设置-> Cognito用户池”在AWS Web Console中更改设置(参见图片)
这是我的代码
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
是否与我要更改的设置有关,但是在文档中找不到任何说明。
答案 0 :(得分:0)
要传递的正确值为COGNITO
client.update_user_pool_client(
UserPoolId=USER_POOL_ID,
ClientId=user_pool_client_id,
SupportedIdentityProviders=[
'COGNITO'
]
)
我只是通过查看其他人的CloudFormation自定义资源https://github.com/rosberglinhares/CloudFormationCognitoCustomResources/blob/master/SampleInfrastructure.template.yaml#L105
的源代码发现了这一点我从官方的AWS Docs / Boto3文档中找不到正确的解决方案。如果有人知道SupportedIdentityProviders
的可能值记录在何处,请发表评论。