【问题标题】:How to update a users properties in Azure AD B2C programmatically?如何以编程方式更新 Azure AD B2C 中的用户属性?
【发布时间】:2019-10-16 02:31:10
【问题描述】:

我创建了一个 Azure AD B2C 租户。我注册了一个应用程序,它是一个 Angular 应用程序。我使用 ClientId 和其他凭据更新了 Angular 应用程序,以显示一个新的登录/注册策略弹出对话框。它工作正常,我可以在 Azure AD B2C 目录中看到用户。

我想访问该用户并将我添加的名为 Membership自定义属性 更新为 ReadOnly。 Azure 门户 UI 不会显示要更新的此自定义属性,尽管它会显示其他属性,例如名字、姓氏等...

文档here 说我可以以编程方式更新用户的属性。本文档于 2017 年更新,不是最新的。我在 Azure AD B2C 租户的应用程序中看不到任何选项来添加对用户的 CRUD 操作的权限。

如果我无法通过 UI 进行修改,如何以编程方式更新用户的属性?

*************** 更新 *************

我有一个 默认目录另一个目录 B2C 租户所在的位置。 B2C 租户的计费与默认目录 相关联。默认目录中的应用程序注册显示了一些我不知道的未知应用程序。另一个非默认目录显示应用程序。但我看到一条错误消息,提示我必须使用 Application Registrations Legacy 才能看到它们。当我转到 Application Registrations Legacy 时,没有看到我注册的应用程序,而是看到了 b2c-extensions-app。不要修改。由 AADB2C 用于存储用户数据。这个应用程序有一个设置菜单。

以下步骤不正确。我没有看到任何 Settings 菜单。

文档说 (1) 继续在 Azure 门户的应用注册菜单中,选择您的应用程序。 (2) 在Settings 菜单中,点击所需权限。

【问题讨论】:

  • 在您的 B2C 租户中,有一个 Azure AD 和一个 Azure AD B2C 部分。使用此租户的 Azure AD 部分中的应用注册(旧版)。
  • 我切换到默认目录,选择B2C租户,从左侧菜单中选择Azure Active Directory .单击Application Registrations Legacy。我看到一条消息You are not the owner of the applications in this directory。我点击了 All Applications 链接,看到 b2c-extensions-app. Do not modify. Used by AADB2C 用于存储用户数据。
  • 我看到 Settings 并且 Enable Access 部分显示该应用程序已经具有 Read/Write 权限。

标签: azure azure-ad-b2c azure-ad-graph-api


【解决方案1】:

那篇文章是正确的,并指出了一个很好的 GitHub 实用程序,它向您展示了如何做到这一点。

请参阅“使用自定义属性”部分。

请注意,自定义属性(称为扩展属性)具有以下形式:

extension_55dc0861f9a44eb999e0a8a872204adb_Jersey_Number

以编程方式更新时。

GUID 是 B2C 扩展应用程序的 ID。

您可以通过以下方式从实用程序中获取此信息:

b2c Get-B2C-Application

“在您的 B2C 目录中获取 B2C 扩展应用程序,以便您可以检索 objectId 并将其传递给其他命令”。

或者您可以直接在 B2C 门户的 Azure AD 部分访问应用程序。

【讨论】:

  • 我在阅读了您的 cmets 后用我所做的更新了原始帖子。该文档似乎不正确,或者由于两个目录(默认目录和 B2C 客户端所在的目录)导致我的帐户不正确。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-23
  • 1970-01-01
相关资源
最近更新 更多