我的用例是:
所有这一切都可以通过直接的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和密码时会得到以下结果:
此时我不知道我的方案的正确方法是什么。
答案 0 :(得分:1)
如果要在Azure AD B2C中添加本地帐户,可以使用Azure AD Graph API实现此目的,将本地帐户用户添加到Azure Active Directory B2C租户,请参阅Create a user (local account) api document。
如果您想添加Facebook和Google等社交帐户,则需要检查这些身份是否提供REST API来管理其用户。
修改
要连接到Graph API,目前需要在Azure AD中设置另一个应用程序(不在azure ad b2c blade中):
在该应用程序中,您可以设置应用程序密钥并授予使用Azure AD Graph API的权限。另一种方法是使用PowerShell服务主体并附加3 Graph API权限:
用户登录B2C应用程序后,在调用图形api时,您可以使用ADAL v2或v3来获取可与Azure AD Graph API一起使用的访问令牌(使用客户端凭据流)。请参阅上面链接中的代码示例。
如果您想限制可以使用Graph api创建用户的用户,您可以在应用程序中编写自己的逻辑来控制它。
更新:
B2C应用程序(在b2c刀片中创建)可以帮助您登录和注册用户,但是B2C应用程序当前无法访问API(在预览中,但无法在我的门户中选择任何API),因此,您需要使用AD应用程序(在天蓝色广告刀片中),这可以授予访问Microsoft Graph API等其他API的权限。当关注链接:https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-devquickstarts-graph-dotnet时,他在文章中创建了一个ServicePrincipal而非应用程序,因此您找不到该应用程序,请单击here以获取有关Azure Active Directory中的应用程序和服务主体对象的更多详细信息< / p>