gpt4 book ai didi

azure - 如何利用 Azure AD B2C 通过 REST API 创建和管理用户?

转载 作者:行者123 更新时间:2023-12-04 10:21:19 25 4
gpt4 key购买 nike

我正在尝试在微服务架构中创建一个应用程序。我目前正在尝试弄清楚身份验证和授权部分。我做了一些研究并选择 Azure AD B2C 作为身份提供商。

我现在想要的是一种通过 REST API 在我的 Azure AD B2C 中创建用户的方法,我将向我的客户端(Web 应用程序和移动客户端)公开该 API。我已经研究 Azure AD B2C 文档 ( https://learn.microsoft.com/en-us/azure/active-directory-b2c/ ) 一段时间了,甚至是 Azure AD B2C 界面,但我能够找到的有关登录和注册的所有信息都与允许用户执行这些操作相关通过带有公司品牌的可自定义页面进行操作。

这不是我需要的。我想公开 API 网关后面的多个服务,并允许我的客户端应用程序执行用户的创建和管理。我希望我的移动团队能够调用我的 API、注册用户、执行登录,并能够访问其他业务相关服务,甚至无需知道我是否使用 Azure AD B2C。但到目前为止,我无法找到任何允许我执行此操作的 Azure AD B2C API。我可以使用 Microsoft Azure AD B2C 实现这一目标,还是应该开始研究其他云身份提供商?

最佳答案

如果您想使用Rest API管理Azure AD B2C用户,可以使用Microsoft Graph API来实现。更多详情请引用documentdocument

例如

  • 注册申请

    1. 登录 Azure 门户。
    2. 选择门户工具栏中的目录 + 订阅图标,然后选择包含 Azure AD B2C 租户的目录。
    3. 在 Azure 门户中,搜索并选择 Azure AD B2C
    4. 选择应用注册(预览),然后选择新注册。
    5. 输入应用程序的名称。例如,managementapp1。
    6. 选择仅此组织目录中的帐户
    7. 权限下,清除“授予管理员对 openid 和offline_access 权限的同意”复选框。
    8. 选择注册
    9. 记录应用程序概览页面上显示的应用程序(客户端)ID。您将在后续步骤中使用该值。
  • 授予 API 权限

    1. 管理下,选择API 权限
    2. 配置的权限下,选择添加权限
    3. 选择 Microsoft API 选项卡,然后选择 Microsoft Graph
    4. 选择应用程序权限
    5. 展开相应的权限组并选中要授予您的管理应用程序的权限的复选框。例如:Directory > Directory.ReadWrite.All:用于用户迁移或用户管理场景。
    6. 选择添加权限。按照指示,等待几分钟,然后再继续下一步。
    7. 选择授予(您的租户名称)管理员同意
    8. 选择您当前登录的管理员帐户,或使用 Azure AD B2C 租户中至少分配有云应用程序管理员角色的帐户登录。
    9. 选择接受
    10. 选择刷新,然后验证“状态”下是否显示“已授予...”。传播权限可能需要几分钟的时间。
  • 创建客户端 key

    1. 管理下,选择证书和 secret
    2. 选择新客户端 key
  • 获取访问 token

POST https://login.microsoftonline.com/<your b2c tannat name >/oauth2/v2.0/token 

Content-Type: application/x-www-form-urlencoded

grant_type=client_credentials
&client_id=<your sp appId>
&client_secret=<you sp password>
&scope=https://graph.microsoft.com/.default
  • 创建用户
POST https://graph.microsoft.com/v1.0/users
Content-type: application/json
Authorization: Bearer <access_token>

{

"displayName": "[TEST] Bridgette Harmon (Local account)",
"givenName": "Bridgette",
"surname": "Harmon",
"identities": [
{
"signInType": "userName",
"issuer": "<your b2c tenant>",
"issuerAssignedId": "Bridgette"
}
],

"passwordProfile" : {
"password": "password-value",
"forceChangePasswordNextSignIn": false
}
}

关于azure - 如何利用 Azure AD B2C 通过 REST API 创建和管理用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60833415/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com