本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
IdP SAML 聲明端點
/saml2/idpresponse
接收 SAML 聲明。在service-provider-initiated(SP 啟動) 登入中,您的應用程式不會直接與此端點互動,您的 SAML 2.0 身分提供者 (IdP) 會使用其 SAML 回應重新導向您的使用者。對於 SP 啟動的登入,請使用 的路徑來設定 IdP,saml2/idpresponse
做為聲明消費者服務 (ACS) URL。如需工作階段啟動的詳細資訊,請參閱 Amazon Cognito 使用者集區中的 SAML 工作階段啟動。
在 IdP 啟動的登入中,在您使用 SAML 2.0 供應商登入使用者後, 會在應用程式中叫用此端點的請求。您的使用者會在瀏覽器中使用 IdP 登入,然後您的應用程式會收集 SAML 聲明並將其提交至此端點。您必須透過 HTTPS 在HTTP POST
請求內文中提交 SAML 聲明。POST
請求的內文必須是 SAMLResponse
參數和 Relaystate
參數。如需詳細資訊,請參閱使用 IdP 啟動的 SAML 登入。
saml2/idpresponse
端點最多可接受 100,000 個字元的 SAML 聲明。
POST /saml2/idpresponse
若要在 IdP 啟動的登入中使用/saml2/idpresponse
端點,請產生 POST 請求,其中包含提供使用者集區使用者工作階段相關資訊的參數。
-
他們想要登入的應用程式用戶端。
-
他們希望最終使用的回呼 URL。
-
他們想要在使用者的存取權杖中請求的 OAuth 2.0 範圍。
-
啟動登入請求的 IdP。
IdP 啟動的請求內文參數
- SAMLResponse
-
來自與使用者集區中有效的應用程式用戶端和 IdP 組態相關聯之 IdP 的 Base64-encoded SAML 聲明。
- RelayState
-
RelayState
參數包含您要傳遞給oauth2/authorize
端點的請求參數。如需這些參數的詳細資訊,請參閱 授權端點。- response_type
-
OAuth 2.0 授予類型。
- client_id
-
應用程式用戶端 ID。
- redirect_uri
-
Amazon Cognito 授權使用者之後,身分驗證伺服器會將瀏覽器重新引導至此 URL。
- identity_provider
-
您要重新導向使用者之身分提供者的名稱。
- idp_identifier
-
您要重新導向使用者之身分提供者的識別碼。
- scope
-
您希望使用者從授權伺服器請求的 OAuth 2.0 範圍。
具有正面回應的範例請求
範例 – POST 請求
下列請求是針對應用程式用戶端 MySAMLIdP
中來自 IdP 的使用者授予授權碼1example23456789
。使用者https://www.example.com
會使用其授權碼重新導向至 ,該授權碼可以交換為包含具有 OAuth 2.0 範圍 openid
、 email
和 之存取權杖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]