托管 UI 和联合身份验证错误响应 - Amazon Cognito

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

托管 UI 和联合身份验证错误响应

托管 UI 中的登录过程或联合登录可能会返回错误。以下是一些可能导致身份验证以错误结束的情况。

  • 用户执行了您的用户池无法完成的操作。

  • Lambda 触发器不以预期的语法响应。

  • 您的身份提供者(IdP)返回错误。

  • Amazon Cognito 无法验证您的用户提供的属性信息。

  • 您的 IdP 未发送与所需属性对应的声明。

当 Amazon Cognito 遇到错误时,它通过以下方式之一进行通信。

  1. Amazon Cognito 会发送重定向,请求参数中URL包含错误。

  2. 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 会话期间的错误不包含这种形式的提供商错误消息。