Apache

このチュートリアルでは、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

3

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

新しい構成ファイル(auth_openidc.conf)を更新します。このファイルは/etc/apache2/mods-availableフォルダーにあります。

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');

}
};

Was this helpful?

/

Next Steps

Excellent work! If you made it this far, you should now have login, logout, and user profile information running in your application.

This concludes our quickstart tutorial, but there is so much more to explore. To learn more about what you can do with Auth0, check out:

  • Auth0 Dashboard - Learn how to configure and manage your Auth0 tenant and applications
  • Auth0 Marketplace - Discover integrations you can enable to extend Auth0’s functionality

Did it work?

Any suggestion or typo?

Edit on GitHub
Sign Up

Sign up for an or to your existing account to integrate directly with your own tenant.