加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-web-api – Azure AD / B2C用户的安全API

发布时间:2020-12-16 03:17:38 所属栏目:asp.Net 来源:网络整理
导读:我的用例是: 通过API使用自定义字段创建用户,使用任何电子邮件地址指定密码 通过API更新/禁用这些用户 使用用户详细信息通过rest API“登录”Azure AD应用以获取令牌 在Http标头中传递令牌时,向Web API发出授权请求 所有这些都可以通过直接的Azure AD / B2C
我的用例是:

>通过API使用自定义字段创建用户,使用任何电子邮件地址指定密码
>通过API更新/禁用这些用户
>使用用户详细信息通过rest API“登录”Azure AD应用以获取令牌
>在Http标头中传递令牌时,向Web API发出授权请求

所有这些都可以通过直接的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 – 工作,可以创建用户
> Azure AD – 应用程序类型本机 – 不起作用,无法创建用户
> Azure B2C – 根据链接在Powershell中创建的应用程序 – 可以创建用户,但是我无法在Azure门户中看到新创建的应用程序,也无法进行更改.
> Azure B2C – 在B2C UI中创建的应用程序 – 不起作用,对Graph Api的请求失败并且“权限不足”.我在Powershell中手动添加了读/写权限,但这不起作用.

在这一点上,我不知道我的方案的正确方法是什么.

解决方法

如果要在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中):

enter image description here


在该应用程序中,您可以设置应用程序密钥并授予使用Azure AD Graph API的权限.另一种方法是使用PowerShell服务主体并附加3 Graph 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(在预览中,但无法在我的门户中选择任何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中的应用程序和服务主体对象的更多详细信息

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读