Azure#AWSいわさ2021.09.15この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。ADのOIDC周りを少し触っています。Gatewayとオーソライザーを使ったIDトークンの検証を行ってみたいと思います。GatewayにはJWTオーソライザーが提供されており、簡単に検証を行うことが出来ます。JWTオーソライザーでは以下のようなJWTの基本的な検証機能を有しています。Lambda組み込み対象のAPIを作成します。バックエンド部分は一旦初期作成状態のLambda関数(Node14)とします。Gatewayと統合し、Postmanで呼び出してみます。Lambdaのレスポンスを表示できていますね。JWTオーソライザーを登録では、オーソライザーを登録しましょう。Lambdaオーソライザーでカスタム処理を作ることも出来ますが、JWT検証のみであればJWTオーソライザーを使うと車輪のなんとかをせずに済むってところなのでしょうか。JWTオーソライザーの登録にあたって、以下を登録します。発行者URLアプリケーションID(クライアントID)ドキュメントのIssueからフォーマットを取得し、テナントIDを置き換えます。"https://pas.windows.net"}登録に必要なテナントIDとアプリケーションIDは以下より取得可能です。テナントIDを専用のものに変更した発行者URLをオーソライザーへ登録します。https://login.microsoftonline.com/9b9e2fc6-dc1a-4d7f-97ff-e86600ac5b48/v2.0先程と同じようにアクセスしてみます。認証エラーになりました!IDトークンを渡すでは、IDトークンを使って作成したAPIへアクセスしてみましょう。IDトークンの取得方法は以下の記事を参照してください。JWT検証後、Lambdaバックエンドでクレームへアクセスすることが出来ます。(参考)nameを取得してみましょう。ルートの統合に渡します。関数などのバックエンドリソースがアクセスできます。response;};AuthorizationヘッダーにベアラートークンとしてIDトークンをセットしてリクエストを送信します。Unauthorizedエラーとなることも確認出来ます。ADに登録したアプリ情報を使って、JWTオーソライザーを構築してIDトークンの検証を行うことが出来ました。カスタムLambdaでデコードして検証して、など行わなくて良いので楽ですね。