Expressアプリケーションにログインを追加する
Auth0を使用すると、アプリケーションに手軽に認証を追加することができます。このガイドは、Node.js ExpressアプリケーションにExpress OpenID Connect SDKを使ってAuth0を統合し、ユーザーのログイン、ログアウト、およびプロファイルを追加する方法を説明します。
Auth0のサービスを利用するには、Auth0 Dashboadに設定済みのアプリケーションがある必要があります。Auth0アプリケーションは、開発中のプロジェクトに対してどのように認証が動作して欲しいかを構成する場所です。
アプリケーションを構成する
対話型のセレクターを使ってAuth0アプリケーションを新規作成するか、統合したいプロジェクトを表す既存のアプリケーションを選択します。Auth0のすべてのアプリケーションには英数字からなる一意のクライアントIDが割り当てられており、アプリケーションのコードがSDKを通じてAuth0 APIを呼び出す際に使用されます。
このクイックスタートを使って構成されたすべての設定は、Dashboardのアプリケーションを自動更新します。今後、アプリケーションの管理もDashboardで行えます。
完了済みの構成を見てみたい場合は、サンプルアプリケーションをご覧ください。
Callback URLを構成する
Callback URLとは、Auth0がユーザーを認証後にリダイレクトするアプリケーション内URLです。設定されていない場合、ユーザーはログイン後にアプリケーションに戻りません。
ログアウトURLを構成する
ログアウトURLとは、Auth0がユーザーをログアウト後にリダイレクトするアプリケーション内URLです。設定されていない場合、ユーザーはアプリケーションからログアウトできず、エラーを受け取ります。
アプリケーションには、Auth0がメンテナンスするOIDC準拠のExpress向けSDKであるexpress-openid-connect
パッケージが必要です。
ターミナルで以下のコマンドを実行してExpress OpenID Connect SDKをインストールします:
cd <your-project-directory>
npm install express-openid-connect
Was this helpful?
ルーターを構成する
Express OpenID Connect SDKライブラリーは、認証ルートをアプリケーションに結びつけるために、auth
ルーターを提供します。以下の構成キーでルーターを構成する必要があります:
authRequired
- すべてのルートに対して認証が必要かを制御します。auth0Logout
- Auth0ログアウト機能を使います。baseURL
- アプリケーションが作動するURLです。secret
- 長くて無作為な文字列です。issuerBaseURL
- 安全なURLとしてのドメインで、アプリケーションの設定で確認できます。clientID
- アプリケーションの設定で確認できるクライアントIDです。
その他の構成オプションについては、APIドキュメントをご覧ください。
checkpoint.header
ユーザーはライブラリーによって提供された/login
ルートを訪れることで、アプリケーションにログインできるようになりました。プロジェクトをlocalhost:3000
で実行している場合のリンクは、http://localhost:3000/login
です。
ユーザーのプロファイルを表示するには、アプリケーションに保護されたルートがなければなりません。
認証を必要とするルートにrequiresAuth
ミドルウェアを追加してください。このミドルウェアを使用するすべてのルートは有効なユーザーセッションをチェックし、ない場合にはユーザーをログインへリダイレクトします。
checkpoint.header
ユーザーはライブラリーによって提供された/logout
ルートを訪れることで、アプリケーションからログアウトできます。プロジェクトをlocalhost:3000
で実行している場合のリンクは、http://localhost:3000/logout
です。
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
- express-openid-connect SDK - Explore the SDK used in this tutorial more fully
- Auth0 Marketplace - Discover integrations you can enable to extend Auth0’s functionality
Sign up for an or to your existing account to integrate directly with your own tenant.