本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
托管 UI 和联合身份验证错误响应
托管 UI 中的登录过程或联合登录可能会返回错误。以下是一些可能导致身份验证以错误结束的情况。
-
用户执行了您的用户池无法完成的操作。
-
Lambda 触发器不以预期的语法响应。
-
您的身份提供者(IdP)返回错误。
-
Amazon Cognito 无法验证您的用户提供的属性信息。
-
您的 IdP 未发送与所需属性对应的声明。
当 Amazon Cognito 遇到错误时,它通过以下方式之一进行通信。
-
Amazon Cognito 会发送重定向,请求参数中URL包含错误。
-
Amazon Cognito 在托管 UI 中显示错误。
Amazon Cognito 附加到请求参数的错误具有以下格式。
https://
<Callback URL>
/?error_description=error+description
&error=error+name
当你帮助用户在无法执行操作时提交错误信息时,请要求他们捕获页面的文本或屏幕截图。URL
注意
Amazon Cognito 错误描述不是固定字符串,您不应使用依赖于固定模式或格式的逻辑。
OIDC以及社交身份提供商的错误消息
您的身份提供者可能会返回错误。当OIDC或 OAuth 2.0 IdP 返回符合标准的错误时,Amazon Cognito 会将您的用户重定向到回调,并将提供商错误URL响应添加到错误请求参数中。Amazon Cognito 将提供商名称和HTTP错误代码添加到现有错误字符串中。
以下URL是从一个向 Amazon Cognito 返回错误的 IdP 的重定向示例。
https://
www.amazon.com
/?error_description=LoginWithAmazon
+Error+-+400
+invalid_request+The+request+is+missing+a+required+parameter+%3A+client_secret
&error=invalid_request
由于 Amazon Cognito 仅返回它从提供者处收到的内容,因此您的用户可能会看到这些信息的一部分。
如果用户在通过您的 IdP 进行初始登录时遇到问题,IdP 会直接向用户发送任何错误消息。当 Amazon Cognito 向您的 IdP 生成验证用户会话的请求时,它会向您的用户中继一条错误消息。Amazon Cognito 中继来自以下终端节点的 OIDC I OAuth dP 错误消息。
/token
-
Amazon Cognito 交换 IdP 授权代码以获得访问令牌。
/.well-known/openid-configuration
-
Amazon Cognito 发现了通往发行者端点的路径。
/.well-known/jwks.json
-
为了验证用户的JSON网络令牌 (JWTs),Amazon Cognito 会发现您的 IdP 用来签署令牌的JSON网络密钥 (JWKs)。
由于 Amazon Cognito 不会启动可能返回HTTP错误的 SAML 2.0 提供商的出站会话,因此您的用户在与 2.0 SAML IdP 会话期间的错误不包含这种形式的提供商错误消息。