Azure AD B2C が外部 API 向けに払い出す JWT-formatted Access Token について
Azure AD B2C Access Tokens now in public preview
ということで、さわって見ました。
Step.1 Azure AD B2C テナントの作成
まずは Azure AD B2C テナントを作成します。なんか portal.azure.com から行くと Classic Portal ベースのドキュメントに飛ばされるので、新しい方の Portal ベースのドキュメントをリンクしときますね。
Azure Active Directory B2C: Create an Azure AD B2C tenant
テナントを Subscription と紐づけるとかいう処理は Production Use でない限り Skip で OK です。
Step.2 Web API (Resource Server) および Client の登録
Azure AD B2C Access Tokens now in public preview にしたがって、Web API と Client を登録します。
Web API の登録には Scope の定義もセットです。
Client の登録には Key (Client Secret) の作成と利用可能な API & Scope の設定がセットです。
ちなみに、Resource Server と Client がどちらも同じメニューから作成し、横並びで表示されるのはちょっと違和感ありますね。
Resource Server に Redirect URI (Reply URL) の登録が必須だったり、Implicit を使えるようにするかの選択は Client 側の設定項目で Resource Server 側にそれ設定してもなんの意味もなかったりというのは、MS さんらしいというかなんというか。
なお、
- App ID URI を登録した Application は固有の scope を定義できるようになり、Resource Server になれる。
- App ID URI を登録しない Application は Key (Client Secret) しか作成できず、Client にしかなれない。
- Resource Server は Key (Client Secret) も作成できるので同時に Client にもなれる。
というルールになっているようですが、3つめの Resource Server かつ Client というのは同じ aud を持つ Access Token と ID Token が生成されることに繋がるので、よほどの事情がない限りやめるべきです。
Read on →