簡體   English   中英

在 Salesforce 中將 Azure AD B2C 配置為身份驗證提供程序

[英]Configure Azure AD B2C as Auth Provider in Salesforce

我正在嘗試將 Azure AD B2C 配置為 Salesforce 的身份驗證提供程序。 我按照http://salesforce.vidyard.com/watch/kcgTXQytUb6INIs2g3faKg 中的說明操作(而不是谷歌使用 Azure AD B2C)。 在此處輸入圖片說明

當我單擊僅測試初始化​​ URL 時,出現以下錯誤

在此處輸入圖片說明

我的 B2C 設置非常基礎。 我只有一個電子郵件提供商和一個開箱即用的登錄注冊策略。

任何幫助將不勝感激。

我遲到了,但我想在這里發帖,以防其他人可以使用此信息。 我們按照以下步驟使用返回 JWT 令牌的普通自定義策略。 請注意創建 Azure AD B2C 應用程序下的步驟 4-5 和配置 Salesforce 身份驗證下的步驟 8 Provider ,這些將從 Azure AD B2C 拉回訪問令牌。

創建 Azure AD B2C 應用程序

  1. 登錄到要連接的 Azure AD B2C 實例。
  2. 轉到應用程序 單擊+ 添加
  3. 添加https://www.salesforce.com作為回復 URL 單擊創建
  4. 選擇您剛剛創建的新應用。 保存應用程序 ID
  5. 單擊 已發布范圍 添加讀取作為范圍。 點擊保存
  6. 保存全范圍值
  7. 單擊API 訪問 單擊+ 添加 Select API 下,選擇應用程序的名稱。 Select Scopes 下,確保選擇了readuser_impersonation
  8. 單擊“確定” 從左側導航中選擇Keys 單擊+ 生成密鑰 點擊保存
  9. 檢查生成的App key的值。 如果其中包含“/”、“?”、“&”或“%”(可能有更多無效字符),則刪除生成的密鑰並重復步驟8和9,直到生成有效密鑰。 保存有效密鑰。

配置 Salesforce 身份驗證。 提供者

  1. 登錄 Salesforce。 轉到設置 快速查找框中,鍵入Auth 選擇驗證。 供應商
  2. 單擊新建
  3. Provider Type 下,選擇Open ID Connect
  4. 添加信息豐富的Name 這將在用戶登錄時作為一個選項顯示給用戶。Salesforce 將生成一個 URL 后綴。
  5. 將“創建 Azure AD B2C 應用程序”的步驟 4 中的應用程序 ID放在Consumer Key 中 將“創建 Azure AD B2C 應用程序”的第 9 步中的App 密鑰放在Consumer Secret 中
  6. 檢索要與之集成的 Azure AD B2C 自定義策略的 OpenID Connect 發現終結點。 這個發現端點可以在 https://{tenant-id}.b2clogin.com/{tenant-id}.onmicrosoft.com/v2.0/.well-known/openid-configuration?p={policy-id }.
  7. 使用發現端點中的 authorization_endpoint 字段作為 Salesforce 中的授權端點 URL 使用發現端點中的 token_endpoint 字段作為 Salesforce 中的令牌端點 URL 將發現端點中的 issuer 字段用作 Salesforce 中的令牌頒發者
  8. 將“創建 Azure AD B2C 應用程序”的第 6 步中的Full Scope Value放在Default Scopes 中 在末尾添加“閱讀”。 (最終值應如下所示:https://{tenant-id}.onmicrosoft.com/{application-name}/read openid)
  9. 對於注冊處理程序,請按照以下說明執行步驟 11: https : //help.salesforce.com/articleView?id=sso_provider_openid_connect.htm&type=5 請注意,以防鏈接發生變化。 您可以使用以下 GitHub 存儲庫中的代碼創建新的注冊處理程序: https : //github.com/salesforceidentity/social-signon-reghandler/blob/master/SocialRegHandler.cls 您可能需要添加 u.CompanyName = 'CompanyName'; 在 prepareUserData 方法中。
  10. 在這里暫停,我們將從Token Issuer回來。

設置虛擬用戶信息端點

  1. Salesforce 需要用戶信息端點。 Azure AD B2C 不提供。 您可以使用此 GitHub 存儲庫中的代碼來創建用戶信息端點的版本: https : //github.com/azure-ad-b2c/samples/tree/master/policies/user-info-endpoint
  2. 此代碼將僅返回存在於用戶令牌上的聲明。 我們決定修改代碼以在 Azure 函數中運行。
  3. 無論您的解決方案是什么,最終都應該使用 REST 端點。 將該 REST 端點放在 Auth 的User Info字段中。 Salesforce 中的提供商。
  4. 點擊保存

在 Azure AD B2C 應用程序中授權回調 URL

  1. 點擊以上步驟配置的Auth Provider。
  2. Salesforce 配置下,保存單一注銷 URL
  3. 展開社區並保存要在其中啟用 SSO 的社區的回調 URL
  4. 返回到 Azure AD B2C。 導航到應用程序注冊(預覽版) 單擊所有應用程序
  5. 選擇在“創建 Azure AD B2C 應用程序”中創建的應用程序。 單擊身份驗證
  6. 單擊添加 URI 添加步驟 3 中的回調 URL 。使用步驟 2 中的單點注銷 URL更新注銷 URL 。單擊保存

您是否能夠在終端中使用curl測試此登錄端點,以確保它返回令牌?

curl -v https://<Azure login endpoint> -d "grant_type=password"  -d "username=user@login.demo" -d "password=password"

您可能需要為 Azure 的 curl 命令添加其他參數(也許添加客戶端 ID 和客戶端機密?

暫無
暫無

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

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