saml2/idpresponse 端点 - Amazon Cognito
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

saml2/idpresponse 端点

/saml2/idpresponse接收SAML断言。在 service-provider-initiated (SP 启动的)登录中,您的应用程序不会直接与该端点交互——您的 2.0 SAML 身份提供商 (IdP) 会将您的用户重定向到此处,并附上他们的响应。SAML对于 SP 发起的登录,请使用您的路径配置您的 IdP saml2/idpresponse 作为断言使用者服务 ()。ACS URL有关会话启动的更多信息,请参阅SAML在 Amazon Cognito 用户池中启动会话

在 IDP 启动的登录中,在用户通过 2.0 提供商登录后,在应用程序中调用对该端点的请求。SAML您的用户在浏览器中使用您的 IdP 登录,然后您的应用程序收集SAML断言并将其提交到此端点。您必须在HTTP POST请求正文中提交SAML断言。HTTPSPOST请求的正文必须是SAMLResponse参数和Relaystate参数。有关更多信息,请参阅 使用 IDP 发起的登录 SAML

POST /saml2/idpresponse

要在 IdP 发起的登录中使用/saml2/idpresponse终端节点,请生成一个POST请求,其参数可为您的用户池提供有关您的用户会话的信息。

  • 他们要登录的应用程序客户端。

  • 他们URL最终想要的回调。

  • 他们想要在用户的访问令牌中请求的 OAuth 2.0 范围。

  • 发起登录请求的 IdP。

IDP 发起的请求正文参数

SAMLResponse

来SAML自 IdP 的 Base64 编码断言,该断言与您的用户池中的有效应用程序客户端和 IdP 配置相关联。

RelayState

RelayState参数包含您原本要传递到oauth2/authorize终端节点的请求参数。有关这些参数的详细信息,请参见对端点授权

response_type

OAuth2.0 的拨款类型。

client_id

应用程序客户端 ID。

redirect_uri

URL在 Amazon Cognito 对用户进行授权后,身份验证服务器将浏览器重定向到何处。

identity_provider

您要将用户重定向到的身份提供商的名称。

idp_identifier

您要将用户重定向到的身份提供商的标识符。

范围

您希望用户向授权服务器请求的 OAuth 2.0 范围。

回复为正面的请求示例

示例-POST 请求

以下请求是在应用程序客户端中向来自 IdP MySAMLIdP 的用户授予授权码。1example23456789用户https://www.example.com使用其授权码重定向到,该授权码可以兑换包含范围为 OAuth 2.0 和openidemailphone、的访问令牌的令牌。

POST /saml2/idpresponse HTTP/1.1 User-Agent: USER_AGENT Accept: */* Host: example.auth.us-east-1.amazoncognito.com Content-Type: application/x-www-form-urlencoded SAMLResponse=[Base64-encoded SAML assertion]&RelayState=identity_provider%3DMySAMLIdP%26client_id%3D1example23456789%26redirect_uri%3Dhttps%3A%2F%2Fwww.example.com%26response_type%3Dcode%26scope%3Demail%2Bopenid%2Bphone
示例-响应

以下是对先前请求的回应。

HTTP/1.1 302 Found Date: Wed, 06 Dec 2023 00:15:29 GMT Content-Length: 0 x-amz-cognito-request-id: 8aba6eb5-fb54-4bc6-9368-c3878434f0fb Location: https://www.example.com?code=[Authorization code]