重要
2025 年 5 月 1 日より、Azure AD B2C は新規のお客様向けに購入できなくなります。 詳細については、FAQ を参照してください。
この記事では、アクセス トークンを提示するクライアント アプリケーションによる要求を受け入れて応答できるように、Web API リソースを Azure Active Directory B2C (Azure AD B2C) テナントに登録する方法について説明します。
Azure AD B2C テナントにアプリケーションを登録するには、次の手順に従います。
- Azure portal にサインインします。
- 複数のテナントにアクセスできる場合、上部のメニューの [設定] アイコンを選択し、[ディレクトリとサブスクリプション] メニューからお使いの Azure AD B2C テナントに切り替えます。
- 左側のメニューで、 Azure AD B2C を選択します。 または、[ すべてのサービス ] を選択し、 Azure AD B2C を検索して選択します。
- [アプリの登録] を選択し、[新しい登録] を選択します。
- アプリケーションの名前を入力します。 たとえば、 webapi1 です。
- [ リダイレクト URI] で [ Web] を選択し、アプリケーションが要求するトークンを Azure AD B2C が返すエンドポイントを入力します。 運用アプリケーションでは、リダイレクト URI をエンドポイント (
https://localhost:5000
など) に設定できます。 開発中またはテスト中に、トークンのデコードされた内容を表示する Microsoft 所有の Web アプリケーションであるhttps://jwt.ms
に設定できます (トークンの内容がブラウザーから離れることはありません)。 お使いの登録済みアプリケーションでは、いつでもリダイレクト URI を追加したり、変更したりすることができます。 - 登録 を選択します。
- Web API のコードで使用する アプリケーション (クライアント) ID を 記録します。
スコープを構成する
スコープは、保護されたリソースへのアクセスを管理する方法を提供します。 スコープは、スコープベースのアクセス制御を実装するために Web API によって使用されます。 たとえば、Web API のユーザーが読み取りと書き込みの両方のアクセス権を持つ場合や、Web API のユーザーが読み取りアクセス権のみを持っている場合があります。 このチュートリアルでは、スコープを使用して、Web API の読み取りと書き込みのアクセス許可を定義します。
- [アプリの登録] を選択します。
- webapi1 アプリケーションを選択して、その概要ページを開きます。
- [ 管理] で、[ API の公開] を選択します。
- [アプリケーション ID URI] の横にある [追加] リンクを選択します。
- 既定値 (GUID) を
api
に置き換え、[ 保存] を選択します。 完全な URI が表示され、https://your-tenant-name.onmicrosoft.com/api
形式である必要があります。 Web アプリケーションが API のアクセス トークンを要求するときは、API に対して定義した各スコープのプレフィックスとしてこの URI を追加する必要があります。 - [この API で定義されるスコープ] で、 [スコープの追加] を選択します。
- 次の値を入力して、API への読み取りアクセスを定義するスコープを作成し、[ スコープの追加] を選択します。
-
スコープ名:
demo.read
-
管理者の同意の表示名:
Read access to demo API
-
管理者の同意の説明:
Allows read access to the demo API
-
スコープ名:
- [ スコープの追加] を選択し、次の値を入力して API への書き込みアクセスを定義するスコープを追加し、[ スコープの追加] を選択します。
-
スコープ名:
demo.write
-
管理者の同意の表示名:
Write access to demo API
-
管理者の同意の説明:
Allows write access to the demo API
-
スコープ名:
アクセス許可を付与する
アプリケーションから保護された Web API を呼び出すには、アプリケーションに API へのアクセス許可を付与する必要があります。 たとえば、「 チュートリアル: Azure Active Directory B2C にアプリケーションを登録する」では、 webapp1 という名前の Web アプリケーションが Azure AD B2C に登録されます。 このアプリケーションを使用して Web API を呼び出すことができます。
- [ アプリの登録] を選択し、API にアクセスできる Web アプリケーションを選択します。 たとえば、 webapp1 です。
- [管理] で API 許可を選択します。
- [構成されたアクセス許可] の下で [アクセス許可の追加] を選択します。
- [ マイ API ] タブを選択します。
- Web アプリケーションにアクセス権を付与する API を選択します。 たとえば、 webapi1 です。
- [ アクセス許可] でデモ を展開し、前に定義したスコープを選択します。 たとえば、 demo.read や demo.write などです。
- アクセス許可の追加 を選択します。
- [<テナント名> に管理者の同意を与えます] を選択します。
- アカウントの選択を求められた場合は、現在サインインしている管理者アカウントを選択するか、少なくとも クラウド アプリケーション管理者 ロールが割り当てられている Azure AD B2C テナントのアカウントでサインインします。
- [はい] を選択します。
- [更新] を選択し、状態 の下に両方のスコープについて「... に付与」が表示されていることを確認してください。
アプリケーションは、保護された Web API を呼び出すために登録されます。 ユーザーは、アプリケーションを使用するために Azure AD B2C で認証を行います。 アプリケーションは、保護された Web API にアクセスするための承認付与を Azure AD B2C から取得します。