メインコンテンツへスキップ

AI を使って Auth0 を統合する

Claude Code、Cursor、GitHub Copilot などの AI コーディングアシスタントを使用している場合は、agent skills を使って、数分で Auth0 認証を自動的に追加できます。インストール:
npx skills add auth0/agent-skills --skill auth0-quickstart --skill auth0-apache
次に、AI アシスタントに以下のように依頼します。
Add Auth0 authentication to my Apache server
AI アシスタントが Auth0 アプリケーションを自動的に作成し、認証情報を取得して、mod_auth_openidc を設定します。agent skills の完全なドキュメント →
システム要件このチュートリアルとサンプルプロジェクトは、次の環境でテストされています。
  • Apache 2.4

はじめに

このチュートリアルでは、Apache を設定して、Web アプリに認証と認可を追加する方法を説明します。アカウント用に構成された例を使ってこのクイックスタートを進められるよう、ログインしたうえで作業することをお勧めします。
1

mod_auth_openidc モジュールをインストールして有効化する

まず、Apache 用の mod_auth_openidc モジュールをインストールします。バイナリは GitHub から入手して、お使いの OS にインストールできます。お使いの OS がどのバイナリにも対応していない場合でも、ソースからビルド できます。モジュールをインストールしたら、a2enmod コマンドで Apache に対して有効化します。詳しくは、Ubuntu の a2enmod マニュアルページ を参照してください。
a2enmod auth_openidc
Windows の場合は、この PowerShell スクリプト を使用して、システムで a2enmod を動作させることができます。
2

Auth0 アカウント情報を使ってモジュールを設定する

/etc/apache2/mods-available フォルダーにある新しい設定ファイル (auth_openidc.conf) を更新します。
Windows の場合は、/apache/conf/httpd.conf ファイルを使用する必要があります。
3

Auth0 を設定する

Auth0 Dashboard で以下を行います。
  1. Applications > Applications に移動し、一覧からアプリケーションを選択します。
  2. Settings ビューに切り替え、Application URIs セクションを探します。
  3. OIDCRedirectURI の値を Allowed Callback URLs に追加します。
  4. ページ下部の Advanced Settings を開きます。
  5. OAuth ビューに切り替えます。
  6. JSON Web Token (JWT) Signature AlgorithmRS256 に設定します。
4

認可

auth_openidc.conf ファイルに Location ブロックを追加すると、ユーザーの IDトークン 内のクレーム値に基づいて、特定のロケーションを保護するよう Apache を設定できます。たとえば、ユーザーのロールを読み取り、保護されたロケーションへのアクセスを許可するクレームを追加する Action を作成できます。
exports.onExecutePostLogin = async (event, api) => {
  const roles = event.authorization.roles; // ['user', 'admin']
  if (roles.includes('admin')) {
    api.idToken.setCustomClaim('folder', 'admin');
  }
};
チェックポイントよくできました。ここまで完了していれば、アプリケーションでログイン、ログアウト、ユーザープロフィール情報が利用できるようになっているはずです。

次のステップ

以上でクイックスタートチュートリアルは終了です。ただし、さらに詳しく確認できる項目が多数あります。Auth0 でできることについて詳しくは、以下を参照してください。
  • Auth0 Dashboard - Auth0 のテナントやアプリケーションを設定、管理する方法を確認できます
  • Auth0 Marketplace - Auth0 の機能を拡張するために有効化できる統合を確認できます