始める前に
Azure Portal にアクセスできる Microsoft アカウントが必要です。
Auth0 を設定する
API を作成する
- Auth0 Dashboard > Applications > APIs に移動し、Create API を選択します。
-
次のパラメーターを設定します。
フィールド 値 名前 Basic CalculatorIdentifier basic-calculator署名アルゴリズム RS256 - Create を選択します。
Regular Web Application を作成する
- Auth0 Dashboard > Applications > Applications に移動し、Create Application を選択します。
- アプリケーションの名前を入力し、アプリケーションの種類として Regular Web Applications を選択します。
接続を作成して有効にする
- Auth0 Dashboard > Authentication > Database に移動し、Create DB Connection を選択します。
- 接続の 名前 を入力します。ユーザーのソースが分かる名前にすることをお勧めします (たとえば、Facebook の認証情報を使用するユーザーを含む接続なら
Facebook、ユーザーがサイト上でサインアップするデータベース接続ならsite-sign-upsなど) 。 - Create を選択します。
- 接続の Settings ページに移動します。
- Applications ビューに切り替えると、テナント内のすべてのアプリケーションの一覧が表示されます。
- 先ほど作成したアプリケーションをオンにして、その接続で有効化します。
ユーザーを作成する
すでにユーザーの一覧がある場合は、それらをインポートするか、カスタムデータベース接続を作成できます。
- Auth0 Dashboard > User Management > Users に移動し、Create User を選択します。
- Email と Password を入力し、接続 フィールドで手順 3 で作成した接続を選択します。
- Create を選択します。
Azure の設定
Azure API Management Service を作成する
- ナビゲーション バーで、Create a resource を選択します。
- 画面が切り替わったら、Web > API Management を選択します。
-
次の設定項目を指定します。
パラメーター 説明 Name サービスの名前です (この名前は、サービスへのアクセスに必要な URL の作成にも使用されます) Subscription このサービスで使用する Azure サブスクリプション プラン Resource group ライフサイクル、アクセス許可、ポリシーを共有するリソースの集合です。既存のリソース グループを使用することも、新しく作成することもできます (新しく作成する場合は、グループ名を指定する必要があります) Location API インスタンスをホストする場所を選択します Organization name 組織の名前 Administrator email このインスタンスを管理する担当者のメールアドレス Pricing tier 使用する価格レベルです。これにより、API に対して実行できる呼び出し回数と、許可されるデータ転送量の上限が決まります。Developer プラン以上を選択する必要があります。Consumption プランでは、この統合に必要な機能を利用できません。 - Create を選択して、サービスのプロビジョニングを開始します (完了まで最大 15 分かかる場合があります) 。
サンプル API をインポートする
- ナビゲーション バー付近にある API Management サービス インスタンスの OAuth 2.0 + OpenID Connect 領域を見つけます。OAuth 2.0 を選択し、Add を選択します。
- Add OAuth2 service の設定画面に移動し、Authorization Code グラントタイプを選択します。
-
次のパラメーターを設定します。
パラメーター 説明 Display name Auth0など、認可サーバーの内容がわかる名前を入力します。Id このフィールドは、入力した表示名に基づいて自動入力されます。 Description Auth0 API Authenticationなど、認可サーバーの説明を入力します。Client registration page URL プレースホルダーとして https://placeholder.contoso.comを入力します。Authorization code grant types Authorization codeを選択します。Authorization endpoint URL テナントの OIDC Discovery endpoint を参照し、 audienceパラメーターを追加します。例:https://{yourDomain}/authorize?audience={API_AUDIENCE}。Authorization request method デフォルトは GETです。Token endpoint URL テナントの OIDC Discovery endpoint を参照します。 Client authentication methods Basicを選択します。アクセストークン sending method Authorization headerを選択します。Default scope 必要に応じて、デフォルトの スコープ を指定します。 - Client Credentials セクションで、Client ID フィールドに Auth0 アプリケーションのクライアントID を入力し、Client secret フィールドにクライアントシークレットを入力します。
- Redirect URI ビューに切り替え、Authorization code flow grant フィールドの URI 値をコピーします。
- Create を選択します。
Azure API が Auth0 を使用するように設定する
- ナビゲーションの APIs セクションで、APIs を選択します。
- Basic Calculator API を選択し、Design ビューに移動します。
- Settings ビューに切り替えます。
- Security セクションに移動し、User Authorization で OAuth 2.0 を選択します。
- Authorization Server フィールドで、前の手順で設定したサーバーを選択します。
- Save をクリックします。
Auth0 で Allowed Callback URL を設定する
- Auth0 Dashboard > Applications > Applications に移動します。
- アプリケーションを選択し、Settings ビューに切り替えます。
- 先ほどコピーした Redirect URI を Allowed Callback URLs フィールドに入力します。
- Save をクリックします。
統合をテストする
- Developer Console を選択して、API の開発者向け画面を開きます。
- APIs > Basic Calculator に移動します。2 つの整数を加算する
GET呼び出しを実行できるページが開きます。 - Try It を選択します。呼び出しのパラメーターを指定できるページが表示されます。
- Authorization セクションに移動し、Authorization Code (Auth0 フィールドの横) を選択します。
- Auth0 のログインウィジェットが表示されたポップアップ ウィンドウが開きます (表示されない場合は、ブラウザーでポップアップ ブロッカーが無効になっていることを確認してください) 。手順 4 で作成した Auth0 ユーザーの認証情報を入力して、ログインします。
- 正常にログインできると、API の呼び出しに使用できるアクセストークンの有効期限を示すメッセージが表示されます。
- ページの一番下まで移動し、Send を選択します。リクエストが成功すると、ページ下部に
HTTP 200レスポンスを含むメッセージが表示されます。
アクセストークンの JWT 検証ポリシーを設定する
Authorization ヘッダーを介して API に渡されます。
各リクエストに含まれるアクセストークンを検証するには、Validate JWT policy を使用できます。API Management ポリシーの設定に関する Microsoft のドキュメントを参照してください。