蔚蓝 B2C。使用 Azure 门户编辑自定义属性

Posted

技术标签:

【中文标题】蔚蓝 B2C。使用 Azure 门户编辑自定义属性【英文标题】:Azure B2C. Edit custom attribute using Azure Portal 【发布时间】:2017-08-04 11:00:02 【问题描述】:

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

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

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

所以,我的问题是:

    是否可以使用 Azure 添加具有自定义属性的新用户 不使用注册策略的门户? 还有其他方法吗 向用户添加除 GraphAPI 和注册之外的自定义属性?

【问题讨论】:

差不多 3 年后,这仍然不是 Azure UI 门户中的选项。我猜这是有原因的,但这似乎是人们想要使用的用例。我知道我知道。但是,它看起来可以实现更新您需要使用 Graph API 的自定义属性 - docs.microsoft.com/en-us/azure/active-directory-b2c/… 【参考方案1】:

简答,1。没有和 2. 没有

此时,管理用户的自定义属性只有两种方式:

用户自己可以通过注册、统一注册/登录和编辑配置文件策略来更新它们。但这对您的场景没有用处。

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

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

您可以采用的完全不同的方法是使用可以通过 UI 管理的 Azure AD 组,但需要注意的是它们不包含在声明中,您需要向 Graph 添加额外的调用应用程序中的 API 以获取组声明并以此为基础。这是the link to UserVoice ask to add Groups in claims for Azure AD B2C。

【讨论】:

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

以上是关于蔚蓝 B2C。使用 Azure 门户编辑自定义属性的主要内容,如果未能解决你的问题,请参考以下文章

如何填充 Azure Active Directory B2C 用户自定义用户属性?

如何在 Azure B2C 租户中显示自定义的注册页面?

如何在 Azure 广告 B2C 上使用自定义角色?

无法登录到新的 Azure B2C 目录

Azure B2C 自定义 - 更改“使用您的社交帐户登录”文本

Azure AD B2C 自定义策略 - Javascript