3

ユーザー フロー 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」クレームを追加したかったのです。後続で発行されるトークンに含まれるようにします。上記のコードはこれに対して正しいでしょうか?

4

2 に答える 2