簡體   English   中英

Salesforce無法實現SSO

[英]Unable to implement SSO in Salesforce

我正在為 Salesforce 實施服務提供商發起的 SSO,其中服務提供商將為 Salesforce,身份提供商將為 lambda 代碼。 lambda 代碼將在驗證用戶的手機號碼后允許用戶使用。 驗證手機號碼后,將通過 lambda 發送 SAMLResponse。

我在 Salesforce 上配置了 SSO,如下所示:- 在此處輸入圖像描述

我還能夠生成有效的 SAML 響應並在 Salesforce SAML 驗證器上對其進行驗證,如下所示:-

在此處輸入圖像描述

我創建了一個將從 Salesforce 重定向的 登錄頁面

我還創建了一個 API,以便每次針對給定的聯合 ID 獲得唯一的 SAML 響應,如下所示:- https://qodz4saz9a.execute-api.us-west-2.amazonaws.com/v1/generate-saml-response ?FederationID=rahul@xyz.com

URL 對於 Salesforce 登錄頁面是 - https://im--partial.my.salesforce.com/

完成所有這些設置后,我可以重定向到我從 Salesforce 創建的登錄頁面,方法是選擇“使用不同的帳戶登錄”選項,然后選擇“Twilio”,如下所示:-

在此處輸入圖像描述

Salesforce 正在使用 URL 中的 SAMLRequest 參數重定向到登錄頁面,如下所示:-

http://salesforce-sso-page.s3-website-us-west-2.amazonaws.com/?SAMLRequest=fZJRc6IwFIX%2FC .....

我不確定如何從這里開始並允許從我的登錄頁面登錄到 Salesforce。 用戶輸入手機號碼和 OTP 后,我會將用戶重定向到以下 URL -

https://im--partial.my.salesforce.com?SAMLResponse=PD94bWwgdmVyc2lvbj0i .....

在這里,我使用 SAMLResponse 作為查詢參數來傳遞用於登錄 Salesforce 的 base 64 編碼 SAML 響應。但我不確定這是否是驗證和登錄 Salesforce 的正確方法。

輸入 OTP 后(測試 OTP 為 1234),出現以下錯誤。 在此處輸入圖像描述

我暫時沒有使用Salesforce生成的 SAMLRequest 來生成SAMLResponse

我瀏覽了很多文檔,但找不到將 SAMLResponse 傳遞給 Salesforce 進行登錄的方法。 如果有人對此有任何想法,或者我是否遵循了錯誤的步驟,請告訴我。

SAML 響應以特定的“方式”發送給服務提供商,協議將此稱為綁定 在這種情況下,預期的綁定是 HTTP POST。 使用 HTTP POST 作為您的綁定,SAML 響應必須在通過 POST 方法發送給服務提供商的 HTTP 請求正文中提交。 單點登錄設置屏幕中列出的Login URL是應該發布 SAML 響應的端點。 它可能看起來像這樣:

POST / HTTP/1.1
Host: im--partial.my.salesforce.com
Content-Type: application/x-www-form-urlencoded
Content-Length: nnn
SAMLResponse=response

您需要擔心 SAML 請求嗎? 這取決於您的工作流程和所需的最終用戶體驗。 將 go 納入此決定的考慮值得他們自己提出 SO 問題。 同時,查看SAML 技術概述以獲得這些工作流程的摘要。

最后但同樣重要的是,Salesforce 在某些 Salesforce 產品上開箱即用地支持通過您的手機號碼進行的整個身份驗證序列。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM