2014-03-28 47 views
10

我正在實施使用Okta作爲身份提供者的SAML 2.0服務提供商。我想配置聲明使用者服務(ACS)URL,以便從我的服務提供者應用程序中將SAML 2.0反映回斷言中。SAML 2.0:如何配置Assertion消費者服務URL

但是,我注意到Okta身份提供商改爲發送在Okta配置中配置的SSO端點,並忽略實際發送的ACS。另外,我得到一個錯誤,可能是來自SP的ACS與那裏的元數據不匹配。

如果ACS URL不是正確的方式將短ID發送給IDP以使其反射回斷言中,那麼可以使用其他機制來實現此目的。

實施例:

的SAML 2.0 SAMLRequest由SP應用發送是:

assertion_consumer_service_url: HTTPS://host.com:port/saml/consume? ENTITYID = N & MYNAME =用戶名

上身份提供商的配置具有的元數據:

單點登錄網址: HTTPS://host.com:port/saml/consume?entityId=N

請注意,myName從一個請求更改爲下一個請求,因爲這是我們驗證響應的name_id與發送的原始用戶名匹配的方式。

另外,如果服務提供商有辦法讓身份提供商斷言SP管理的名稱(如用戶名),那麼這對我們的需求來說就很好。如何具體說明這一點?

謝謝

+1

請不要一次發佈幾個問題,最好將每個問題作爲單獨的問題發佈。 –

回答

9

在SAML中,假設ACS對於SP是靜態的。要將響應與原始AuthnRequest關聯起來,您應該保存傳出的AuthnRequest的Id,然後使用接收到的響應的InResponseTo

SP可以添加一個主題到AuthnRequest,告訴Idp你想要認證的用戶名。它在SAML2 Core spec的第3.4.1節中定義。