首页 > 解决方案 > 我可以使用注册用户流 API 连接器来填充自定义用户声明吗?

问题描述

我有一个 Azure AD B2C 租户,用于测试所有设置和工作。我可以创建用户并注册/登录,可以调用我的后端 api,工作。不过,我想做的是能够在用户登录时将自定义声明返回给我。我知道如何添加自定义声明,并且我选择了它们作为我的注册/登录配置文件返回。我不会在登录时从用户那里收集这些测试值:这个想法是模仿一些额外的用户变量,我希望能够在没有意义的实际生产应用程序中的 API 端设置/获取这些变量让用户自己提供(例如“他们有订阅吗”,用户当然不能手动设置为是!)。

我知道如果从未指定值,那么即使您指示它们成为返回声明的一部分,它们显然也不会被返回。所以我决定尝试使用 B2C API 连接器来自动设置这些测试自定义声明。我有一个工作功能应用程序,我已配置为在“创建用户之前”阶段执行(因为“使用身份提供者登录后”选项不会被调用以进行基于本地/电子邮件的帐户注册,根据文档)。

查看此处的文档似乎表明我可以返回我的自定义声明值作为我的继续响应的一部分。我的函数执行此操作,但是,我从未在后续用户登录时看到这些值返回给我。

我的继续响应看起来像这样(我有 2 个测试值:TestValue (bool) 和 StringTestValue (string)):

{
"version": "1.0.0",
"action": "Continue",
"extension_<extensions-app-id>_TestValue": false,
"extension_<extensions-app-id>_StringTestValue": "This is a test value"
}

extensions-app-id 是 b2c-extensions-app 的 GUID(带有破折号)。

我的目标是避免弄乱自定义声明,因为事实证明,将我的头绕在 atm 上有点挑战。但是,如果这是自动填充用户不应该设置自己的声明的唯一真正方法,那就这样吧。这是我可以用 API 连接器做的事情吗?

标签: azure-functionsazure-ad-b2cazure-ad-b2c-custom-policy

解决方案


推荐阅读