IdP SAML聲明端點 - Amazon Cognito

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

IdP SAML聲明端點

/saml2/idpresponse 接收SAML宣告。在 service-provider-initiated (SP 啟動) 登入中,您的應用程式不會直接與此端點互動,您的 SAML 2.0 身分提供者 (IdP會利用使用者的SAML回應重新導向您的使用者。對於 SP 啟動的登入,請使用 saml2/idpresponse作為聲明消費者服務 (ACS) 的路徑來設定 IdPURL。如需工作階段啟動的詳細資訊,請參閱 SAML Amazon Cognito 使用者集區中的工作階段啟動

在 IdP 啟動的登入中,在您使用 2.0 供應商登入使用者後, 會在應用程式中叫用此端點SAML的請求。您的使用者會在瀏覽器中使用 IdP 登入,然後您的應用程式會收集SAML聲明並將其提交至此端點。您必須在HTTP POST請求的內文中透過 提交SAML宣告HTTPS。POST 請求的內文必須是 SAMLResponse 參數和 Relaystate 參數。如需詳細資訊,請參閱使用 IdP 啟動的SAML登入

POST /saml2/idpresponse

若要在 IdP 啟動的登入中使用/saml2/idpresponse端點,請產生具有參數的POST請求,提供使用者集區有關使用者工作階段的資訊。

  • 他們想要登入的應用程式用戶端。

  • 他們想要最終URL回呼的回呼。

  • 他們想要在使用者的存取權杖中請求的 OAuth2.0 範圍。

  • 啟動登入請求的 IdP。

IdP 啟動的請求內文參數

SAMLResponse

來自與使用者集區中有效應用程式用戶端和 IdP 組態相關聯之 IdP IdP 的 Base64-encodedSAML宣告。

RelayState

RelayState 參數包含您要傳遞給oauth2/authorize端點的請求參數。如需這些參數的詳細資訊,請參閱 授權端點

response_type

2.0 OAuth 授予類型。

client_id

應用程式用戶端 ID。

redirect_uri

驗證URL伺服器在 Amazon Cognito 授權使用者之後重新導向瀏覽器的 。

identity_provider

您要重新導向使用者的身分提供者名稱。

idp_identifier

您要重新導向使用者之身分提供者的識別碼。

scope

您希望使用者從授權伺服器請求的 OAuth 2.0 範圍。

具有正面回應的請求範例

範例 – POST請求

下列請求是針對應用程式用戶端 MySAMLIdP中來自 IdP 的使用者授予授權碼1example23456789。使用者https://www.example.com會使用其授權碼重新導向至 ,該授權碼可交換為包含具有 OAuth 2.0 範圍 openidemail和 之存取權杖的權杖。 phone

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]