Expressアプリケーションにログインを追加する

Auth0を使用すると、アプリケーションに手軽に認証を追加することができます。このガイドは、Node.js ExpressアプリケーションにExpress OpenID Connect SDKを使ってAuth0を統合し、ユーザーのログイン、ログアウト、およびプロファイルを追加する方法を説明します。

1

Auth0を構成する

Auth0のサービスを利用するには、Auth0 Dashboadに設定済みのアプリケーションがある必要があります。Auth0アプリケーションは、開発中のプロジェクトに対してどのように認証が動作して欲しいかを構成する場所です。

アプリケーションを構成する

対話型のセレクターを使ってAuth0アプリケーションを新規作成するか、統合したいプロジェクトを表す既存のアプリケーションを選択します。Auth0のすべてのアプリケーションには英数字からなる一意のクライアントIDが割り当てられており、アプリケーションのコードがSDKを通じてAuth0 APIを呼び出す際に使用されます。

このクイックスタートを使って構成されたすべての設定は、Dashboardのアプリケーションを自動更新します。今後、アプリケーションの管理もDashboardで行えます。

完了済みの構成を見てみたい場合は、サンプルアプリケーションをご覧ください。

Callback URLを構成する

Callback URLとは、Auth0がユーザーを認証後にリダイレクトするアプリケーション内URLです。設定されていない場合、ユーザーはログイン後にアプリケーションに戻りません。

ログアウトURLを構成する

ログアウトURLとは、Auth0がユーザーをログアウト後にリダイレクトするアプリケーション内URLです。設定されていない場合、ユーザーはアプリケーションからログアウトできず、エラーを受け取ります。

2

ExpressのOpenID Connect SDKをインストールする

アプリケーションには、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です。

3

ユーザープロファイルを表示する

ユーザーのプロファイルを表示するには、アプリケーションに保護されたルートがなければなりません。

認証を必要とするルートに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:

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.