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中,应用程序是相同的概念。 –