ユーザー フロー B2C_1_singupsingin1 があります。API コネクタを追加し、それをこのストリームに埋め込み、API 呼び出しのエンドポイント URL を追加しました。使用記事: https://docs.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 };
}
カスタム フローを開始すると、すべてが機能し、API でそのエンドポイントに到達します。しかし、JsonElement 本体にカスタム属性が含まれていないという問題があります。中が見えbody.ValueKind = Undefined
ます。私が間違っていることを教えてください。
また、結局のところ、データベースからの値を使用してカスタムの「userId」クレームを追加したかったのです。後続で発行されるトークンに含まれるようにします。上記のコードはこれに対して正しいでしょうか?