5

我的使用情況是:與Azure的AD/B2C用戶的安全API

  • 通過API與自定義字段使用任何電子郵件地址
  • 更新創建用戶,指定密碼/通過API禁用這些用戶
  • 「登錄與用戶細節Azure的AD應用程序通過REST API來獲取令牌
  • 製作授權請求的Web API令牌時在HTTP頭中傳遞

所有這些都可以通過直接的Azure AD/B2C來實現,還是應該考慮其他身份提供者IdentityServer/Auth0?

編輯1

我收到AAD應用/用戶和B2C應用/用戶之間很迷茫,對在這種情況下如何使用很少的指導。

使用https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-devquickstarts-graph-dotnet爲出發點,從客戶端ID和祕密堵塞時,我得到如下結果:

  • Azure的AD - 應用類型的Web應用程序/ API - 作品,可以創建用戶
  • 天青AD - 應用程序類型本地 - 不起作用,無法創建用戶
  • Azure B2C - 根據鏈接在Powershell中創建的應用程序 - 可以創建用戶,但我無法在Azure門戶中看到新創建的應用程序,並且可以不會做出改變。
  • Azure B2C - 在B2C用戶界面中創建的應用程序 - 不起作用,對圖形API的請求失敗,並顯示'權限不足'。我在Powershell中手動添加了讀/寫權限,但這不起作用。

在這一點上,我不知道什麼是我的方案的正確方法。

回答

0

如果要在Azure AD B2C中添加本地帳戶,則可以使用Azure AD Graph API來實現此目的,要將本地帳戶用戶添加到Azure Active Directory B2C租戶,請參閱Create a user (local account) api document

如果您想添加社交賬戶,例如Facebook和Google,您需要檢查這些身份是否提供了REST API來管理其用戶。

編輯

用於連接到圖形API,目前你需要設置另一個應用程序在Azure的AD(未在蔚藍的廣告B2C刀片):

enter image description here 在該應用程序,你可以設置應用程序密鑰和授權權限以使用天青AD圖形API。另一個方法是使用的powershell服務主體,並連接3圖形API權限:

https://azure.microsoft.com/en-us/documentation/articles/active-directory-b2c-devquickstarts-graph-dotnet/

用戶登錄B2C應用程序後,在調用圖表API時,可以使用ADAL v2或v3以獲取可與Azure AD Graph API一起使用的訪問令牌(使用客戶端憑證流)。請參考以上鍊接中的代碼示例。

如果您想限制可以使用Graph API創建用戶的用戶,您可以在應用程序中編寫自己的邏輯來控制它。

更新:

B2C的應用程序(這在B2C刀片創建)可以幫助您登錄和註冊用戶,但B2C的應用目前無法訪問這些API(預覽,但可以」 t選擇我的門戶中的任何api),因此您需要使用AD應用程序(在azure廣告代碼刀片中),該應用程序可以授予訪問其他API(例如Microsoft Graph API)的權限。當如下鏈接:https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-devquickstarts-graph-dotnet,在文章中,他創建了一個ServicePrincipal不是一個應用程序,讓你找不到應用程序,請點擊here有關Azure的Active Directory應用程序和服務的主要對象的更多細節

+0

感謝,爲了清楚我是能夠使用Azure AD做同樣的事情而不使用B2C?然後,我可以使用這些用戶詳細信息來獲取適用於AD應用程序的令牌嗎? –

+0

此外,該令牌是否適用於Azure B2C「應用程序」? AD和B2C應用程序是一樣的嗎? –

+0

是的,您可以使用AAD圖表api在azure ad b2c中的azure廣告和本地帳戶中創建工作或學校帳戶。可以與Azure AD/Azure AD B2C集成的應用程序爲其服務提供安全登錄和授權。在azure ad和azure ad b2c中,應用程序是相同的概念。 –