メインコンテンツへスキップ
このチュートリアルでは、Webアプリに認証と認可を追加するために、Apacheを構成する方法について説明します。ログインして、アカウント用に構成された例を参考にこのクイックタートに従うことをお勧めします。
1

システム要件

このチュートリアルとサンプルプロジェクトは次を使用してテストが完了しています:
  • Apache 2.4
2

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

まず、Apacheにmod_auth_openidcモジュールをインストールする必要があります。GitHubからバイナリを取得して、OSにインストールすることができます。OSがバイナリのどれとも互換でない場合には、ソースからビルドすることができます。モジュールをインストールしたら、a2enmodコマンドを実行して、Apacheで有効化します。詳細については、Ubuntu Manpageでの2enmodで次を参照してください:
a2enmod auth_openidc
Windowsについては、こちらのPowershellスクリプトを使用すると、システム上でa2enmodを動作させることができます。
3

Auth0アカウント情報でモジュールを構成する

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

Auth0を構成する

Auth0 Dashboardで以下を行います。
  1. [Applications(アプリケーション)] > [Applications(アプリケーション)] に移動し、リストからアプリケーションを選択します。
  2. [Settings(設定)] ビューに切り替えて、[Application URIs(アプリケーションURL)] セクションを見つけます。
  3. OIDCRedirectURIの値を**[Allowed Callback URLs(許可されているCallback URL)]** に追加します。
  4. ページ下部の**[Advanced Settings(詳細設定)]** を見つけます。
  5. [OAuth] ビューに切り替えます。
  6. [JSON Web Token (JWT) Signature Algorithm(JSON Web Token(JWT)署名アルゴリズム)]RS256に設定します。
5

認可

Apacheを構成して、ユーザーのIDトークンにあるクレームの値を基に特定の場所を保護することができます。これを行うには、Locationブロックをauth_openidc.confファイルに追加します。たとえば、ユーザーのロールを読み出すアクションを作成して、保護された場所へのアクセスを付与するクレームを追加することができます:
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の機能性を拡張できる各種の統合を見つけられます
I