Auth0の構成(Webアプリ + SSO)
このセクションでは、Auth0 Dashboardでの適用が必要なすべての構成を確認します。
アプリケーション
Auth0の構成部分は、Auth0 Dashboardでタイムシートアプリをアプリケーションとして登録するところから始まります。アプリケーションは、リソース所有者(エンドユーザー)に代わって保護されたリソースへの要求を行います。
Auth0におけるアプリケーションの主な特徴は以下のとおりです。
Name(名前):アプリケーションの正式名称。これは、ポータル、メール、ログなどでアプリケーションを識別するために使用されます。
Client ID(クライアント ID)(読み取り専用):アプリケーションに一意の識別子。これは、Auth0で認証を設定する際に、アプリケーションで使用されるIDです。自動生成された英数字の文字列です。
Client secret(クライアントシークレット)(読み取り専用):トークンの署名と検証に使用される文字列で、それらのトークンはさまざまな認証フローで使用されます。自動生成され、機密として扱わなければなりません。
Domain(ドメイン):Auth0アカウントに割り当てられたドメイン名。ドメインの形式は、
{account-name}.auth0.com
または{account-name}.{location}.auth0.com
(例:ExampleCo.auth0.com
)です。Callback URL:ユーザーが認証後にリダイレクトされるURL。
アプリケーションを作成する
ExampleCoのシナリオにあるのは、1つのアプリケーション(タイムシートWebアプリ)のみです。このため、Auth0側で1つのアプリケーションを構成する必要があります。
データベース接続を登録するには、ダッシュボードに移動し、サイドナビゲーションで[Applications(アプリケーション)]を選択します。
[+ Create Application (アプリケーションの作成)]ボタンをクリックします。アプリケーションの名前と種類が求められます。アプリケーションの名前を「Timesheet-App
」とし、アプリケーションの種類に[Regular Web Applications
(通常のWebアプリケーション)]を選択します。
[Create(作成)]をクリックすると、[Quick Start(クイックスタート)]ビューに移動します。ここでは、アプリの構築に使う予定の技術を選択できます。選択すると、それに関連したクイックスタートガイドが表示されます。
そ例外にも、以下のビューを使用できます。
Callback URLを構成する
[Allowed Callback URLs(許可されているCallback URL)]フィールドには、Auth0がユーザーの認証後にリダイレクトするURLが含まれています。このリダイレクトにより、OpenID Connect(OIDC)の認証プロセスが完了します。複数の有効なURLを指定するには、カンマで区切って指定します「*.google.com
」のように、サブドメインのワイルドカードとして「*」記号を使用することができます。プロトコル(http://
またはhttps://
)を指定してください。指定しないと、場合によってはコールバックが失敗します。
サンプルプロジェクトのCallback URLは、「http://localhost:5000/signin-auth0
」です。このサンプルを使用する場合は、この値を[Allowed Callback URLs(許可されているコールバックURL)]フィールドに設定します。そうでない場合は、アプリケーションの導入に選択したURLを追加します。
接続
次のステップでは、Webアプリで認証に使用されるIDプロバイダーを構成します。各IDはAuth0にある接続へのマップを提供します。各アプリケーションには少なくとも1つの接続が必要です。それぞれの接続は複数のアプリケーションで使用することができます。
ExampleCoでは、2つの接続を構成する必要があります。1つは社内従業員用のActive Directory接続で、もう1つは外部関係者用のデータベース接続です。
対応しているIDプロバイダー
Auth0は、多様なプロトコルとIDプロバイダーをサポートします。
- ソーシャル:Google、Facebbok、LinkedIn、GitHub、その他をユーザーが使用してログインできるようにします。- エンタープライズ:Active Directory、ADFS、LDAP、SAML-P、その他をユーザーが使用してログインできるようにします。- データベース接続:新しいデータベース接続を設定して独自のユーザーストアを作成し、メール/ユーザー名とパスワードを使用してユーザーを認証します。資格情報は、Auth0ユーザーストアまたは独自のデータベースに安全に保存することができます。
- パスワードレスの認証:ユーザーがパスワードを記憶せずとも ログインできるように、SMSやメールといった認証チャンネルを使用します。
データベース接続を作成する
データベース接続を登録するには、以下の手順に従います。
Dashboardから[Authentication(認証)]>[Database(データベース)]に移動します。
[+ Create DB Connection(+ DB接続の作成)]を選択します。プロンプトに接続名を入力し、必要であれば追加の要件を構成します。
内容が正しいことを確認してから、[Create(作成)]を選択します。
データベース接続を作成したら、その接続にアプリケーションを有効化する必要があります。ユーザーがその接続を使ってアプリケーションにアクセスできるように、接続にアプリケーションを有効化しなければなりません。アプリケーションを有効にするには、新しい接続の[Applications(アプリケーション)]タブに移動して、その接続の使用が必要なアプリケーションのそれぞれについて、トグルを有効に設定します。
データベース接続の詳細については、「データベースIDプロバイダー」を参照してください。
Active Directory/LDAP接続を作成する
次に、Active Directory/LDAP接続を構成します。Auth0 Dashboardから[Authentication(認証)]>[Enterprise(エンタープライズ)]に移動します。
そこでAD/LDAP接続を作成し、ADコネクターをインストールする必要があります。詳細は以下のドキュメントをご覧ください。
How to connect your Active Directory with Auth0(Active DirectoryをAuth0と接続する方法)
How to install the Active Directory/LDAP Connector(Active Directory/LDAPコネクターのインストール方法)
接続とコネクターの構成が完了したら、必ず、このAD/LDAP接続をアプリケーションに有効にしてください。
Kerberosのサポート
AD/LDAPコネクターは、ユーザーが企業ネットワーク内のドメイン参加マシンで認証を行う際に認証を容易にするために、Kerberosをサポートしています。Active DirectoryでKerberosをアクティベートするには、Dashboardのオプションを有効化してください。Kerberosを有効化した後、 __IPの範囲__も設定できるようになります。これらのIPアドレス範囲からのユーザーが発生する場合、この情報はSSOエンドポイントで公開されるため、auth0.jsやLockなどのクライアントサイドのSDKがKerberosサポートを検出し、統合Windows認証を許可できるようになります。詳細
::: 注意 Kerberosを有効にすると、AD/LDAPの設定ファイルにいくつかの変更をする必要があります。詳細は、「AD/LDAPコネクター設定を修正する」をご覧ください。
これで、ソリューションの設計とAuth0に必要な構成は完了です。次に、Auth0をタイムシートWebアプリに統合することができます。