[英]Is it possible to implement SSO in a ReactJs application with SAML2? if possible how?
[英]Unable to implement SSO in Salesforce
我正在為 Salesforce 實施服務提供商發起的 SSO,其中服務提供商將為 Salesforce,身份提供商將為 lambda 代碼。 lambda 代碼將在驗證用戶的手機號碼后允許用戶使用。 驗證手機號碼后,將通過 lambda 發送 SAMLResponse。
我還能夠生成有效的 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.