我有一个用户流 B2C_1_singupsingin1 我添加了一个 api 连接器,将其嵌入到该流和 API 调用的端点 url 中。使用的文章: https://learn.microsoft.com/en-us/azure/active-directory-b2c/add-api-connector-token-enrichment ?pivots=b2c-user-flow
从文章中可以清楚地看出,API 连接器具体化为 HTTP POST 请求,发送自定义属性。
我的 Web api 有一个端点,代码如下:
[HttpPost("enrich")]
public IActionResult Enrich([FromBody] JsonElement body)
{
var responseProperties = new Dictionary<string, object> //for example
{
{ "version", "1.0.0" },
{ "action", "Continue" },
{ "postalCode", "12349" },
{ "userId", 123 }
};
return new JsonResult(responseProperties) { StatusCode = 200 };
}
Run Code Online (Sandbox Code Playgroud)
当我启动自定义流程时,一切正常,我可以到达 api 中的该端点。但存在一个问题,JsonElement 主体不包含自定义属性。我在里面看到了body.ValueKind = Undefined
。告诉我我做错了什么?
另外,毕竟,我想添加一个自定义的“userId”声明,其中包含数据库中的一些值。以便将其包含在后续发行的token中。上面的代码对此正确吗?