2013-10-04 44 views
3

我們希望通過Salesforce.com進行SSO。從他們的文檔中,我們發現這個選項「委託身份驗證」以滿足我們的需求。基本上,當給定用戶名和密碼時,Salesforce.com會啓動一個到原始組織的Web服務調用來驗證它。SSO與SalesForce.com

我們正在考慮通過以下方式實現這一點 - 我們的用戶將使用用戶名和密碼登錄到我們的系統,我們會讓他們通過身份驗證。然後,當他們必須訪問Salesforce.com時,我們會將用戶名和Cookie(我們從身份驗證中獲得的)提供給Salesforce.com,然後Salesforce會將這些通過Web服務調用傳遞給我們的組織,我們將能夠驗證用戶使用這個cookie。

有沒有人試過/聽說過這種方法?有沒有任何已知的限制。任何幫助,將不勝感激。

回答

2

這是使用委託身份驗證的常用方法,主要問題是如果您的DA偵聽器只接受身份驗證Cookie,那麼從網站以外的應用程序登錄到salesforce是不可能的(例如移動應用程序,數據加載器,等等)。您可以編寫DA偵聽器來接受auth cookie或密碼並以此方式工作,或者您可以查看許多應用現在支持的基於SAML的更新的SSO功能。

+0

感謝您確認這種方法。是的,我們計劃編寫我們的DA監聽器來接受一個cookie或一個密碼。 – Govinda

+0

然後隨時上傳和/或接受答案。 – superfell

1

一種方法是使用Salesforce支持的SAML2 Web瀏覽器SSO配置文件。 您需要在Salesforce管理設置中配置SAML2 SSO。 下面是簡要概述:https://help.salesforce.com/apex/HTViewHelpDoc?id=sso_saml.htm&language=th

爲終端用戶流動看起來像這樣:

  • 用戶導航到Salesforce和提供一個完全合格的用戶名(例如[email protected])在 登錄表單。
  • Salesforce重定向用戶,並將SAML2身份驗證請求發送給負責認證用戶的身份服務(idp.acme.com)。 SAML2認證請求作爲HTTP重定向的GET參數發送。
  • 身份服務對用戶進行身份驗證(例如通過提供登錄表單並驗證用戶名和密碼)
  • 身份服務向Salesforce返回SAML2斷言。實際上,斷言是通過HTTP響應發送給用戶的,並且通過在頁面加載時觸發的javascript函數自動發送到Salesforce。
  • Salesforce的驗證斷言(數字簽名,時間有效期等),並允許在用戶。