我们在AWS Cognito中设置了一个用户池,为此我们还将Azure AD设置为其中一个应用程序客户端的SAML身份提供程序
通过此应用程序客户端的Hosted UI,身份验证流将按预期工作,并在针对IdP成功进行身份验证并重定向回Cognito之后,重定向到IdP进行身份验证并生成令牌。
对于未使用身份提供者的应用客户端,我们可以使用InitiateAuth
为AuthFlow
的{{1}}操作(https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_InitiateAuth.html)来允许用户进行身份验证并获取令牌。
但是,当我们尝试对配置了IdP的应用客户端使用USER_PASSWORD_AUTH
操作并在用户池中使用由Cognito自动创建的用户名(默认为{{1} }(例如InitiateAuth
)和与<IdentityProviderName>_<UsernameOfUserOnIdP>
相同的AzureAD_matthew@domain.com
得到USER_PASSWORD_AUTH
。因此,以下请求:
AuthFlow
给出此响应:
NotAuthorizedException
是否可以对链接到SAML身份提供商的应用客户端使用{
"AuthParameters": {
"USERNAME": "AzureAD_matthew@domain.com",
"PASSWORD": "XXXXXX"
},
"AuthFlow": "USER_PASSWORD_AUTH",
"ClientId": "XXXXXXXXX"
}
操作?
谢谢