Azure B2C。使用Azure Portal编辑自定义属性

Pav*_*vel 5 c# azure azure-ad-b2c

我已经在Azure门户中创建了Azure B2C应用程序。我只需要对此应用程序使用登录策略(无需注册)。我需要创建两种用户- Simple UserAdmin。为此,我创建了自定义字符串属性- Role。它通过令牌作为对登录策略的声明返回。

现在,我想Role = Admin使用Azure门户添加新用户-但找不到任何可以编辑此用户的Role(自定义属性)的地方。

我设法编辑“角色”属性的唯一方法是使用Azure B2C Graph API应用程序。但是我不想为此在我的应用程序中创建额外的UI。

因此,我的问题是:

  1. 是否可以使用Azure门户在不使用注册策略的情况下添加具有自定义属性的新用户?
  2. 除了GraphAPI和注册外,还有其他方法可以向用户添加自定义属性吗?

Sac*_*aca 6

简短答案:1.否和2.否

目前,只有两种方法可以管理用户的自定义属性:

  • 他/她自己的用户可以通过注册,统一注册/登录和编辑配置文件策略来更新它们。但是,这对于您的情况没有用。

  • 通过Graph API,使用委派的非管理员用户令牌(只能更新该用户的属性),委派的管理员令牌(可以更新任何用户的属性)或应用程序令牌(也可以更新任何用户的属性)。严格来说,您不必构建UI即可拥有一个控制台应用程序。查看此样本

我建议您在Azure AD B2C UserVoice论坛中创建一个条目以请求管理员通过UI管理自定义属性的方法。

您可以遵循的完全不同的方法是使用可以通过UI进行管理的Azure AD组,但需要注意的是,它们不包含在声明中,您需要在您的Graph API中添加一个额外的调用应用程序来获得团体索赔并解决这个问题。这是UserVoice的链接,要求在Azure AD B2C的声明中添加组

  • @DonaldAirey Graph API 调用应该由后端服务完成。如果应用程序/前端需要了解角色,这将由后端的 API 返回。如果您的应用程序/程序没有后端,这是不可能的(尽管我不确定在没有某种后端服务的情况下可以使用哪些 B2C 场景)。关于 B2C 一团糟,不幸的是我不得不同意。 (3认同)
  • 使用Graph API访问声明要求您将Graph API秘密放在用户代码中。这是一个巨大的安全漏洞,因为某人可以轻松地拆分请求,找到机密,然后将其组成员身份从“用户”更新为“管理员”。整个产品一团糟,微软似乎对修复它没有兴趣。 (2认同)