Skip to main content
Auth0-PHP SDK には、Auth0\SDK\Auth0Auth0\SDK\API\AuthenticationAuth0\SDK\API\Management という 3 つの主要クラスが含まれており、それぞれ Auth0 API の異なる機能に対応するインターフェースを提供します。ユーザーのセッションを管理する必要があるステートフルな Web アプリケーションを構築している場合、最も多く利用するのはベースの Auth0 クラスです。このクラスには、ログインやログアウト、ユーザー認証情報の取得、利用可能なセッションの確認、コールバック処理など、一般的な認証およびセッション管理タスクを処理するためのメソッドが用意されています。これらのタスクについては、以下で説明します。 これらの機能やその他の詳細については、Authentication API を使用するを参照してください。

前提条件

以下のドキュメントでは、Auth0-PHP の手順を完了しており、そこで示されているコードを基に進めることを前提としています。

ログイン

PHP SDK のデフォルトのログイン処理では、Authorization Code grant と Auth0 の ページを組み合わせて使用します。大まかな流れは次のとおりです。
  1. アクセスを要求したユーザーは、Universal Login ページにリダイレクトされます。
  2. ユーザーは、利用可能なさまざまな接続 のいずれかを使って認証します。たとえば、ソーシャル (Google、X、Facebook) 、データベース (メールアドレスとパスワード) 、パスワードレス (メール、SMS) 、エンタープライズ (ActiveDirectory、ADFS、Office 365) などです。
  3. 成功すると、ユーザーは codestate の値とともにアプリケーションのコールバック URL にリダイレクトされるか、POST されます。失敗した場合は、errorerror_description が返されます。
  4. 認証に成功した場合は、state の値を検証します。
  5. state が有効であれば、code の値を使って Auth0 から ID トークンやアクセストークンを取得します。
  6. ID トークン内のユーザー情報は、アカウントの作成、アプリケーション固有のセッションの開始、またはユーザーセッションとしての保持に利用できます。
Auth0-PHP がこれらの手順の大半を自動的に処理してくれます。アプリケーション側で必要なのは次のとおりです。
  1. ユーザーがログインする必要があるときに Auth0\SDK\Auth0::login() を呼び出す (例: リンクをクリックしたとき、制限されたコンテンツにアクセスしたときなど)
  2. ユーザーがコールバック URL にリダイレクトされたときに Auth0\SDK\Auth0::exchange() を呼び出す
  3. ユーザーがログイン済みかどうかを確認し、ユーザー情報を取得する必要があるときに Auth0\SDK\Auth0::getCredentials() を呼び出す
これらの手順のシンプルな実装例は、次のようになります。
最後に、設定ページにある Auth0 Application の “Allowed Callback URLs” フィールドに、アプリケーションの URL を追加する必要があります。そうすると、スクリプトを埋め込んだページを読み込んだときに、次のようになるはずです。
  1. すぐに、テナント用の Auth0 ログインページにリダイレクトされる。
  2. いずれかの接続を使って正常にログインすると、アプリにリダイレクトされる。
  3. ‘Authenticated!’ と表示されたシンプルなページが表示される。

プロフィール

ユーザーの認証が完了したので、保存されたセッションデータを使って、ユーザープロファイルの表示などを行えます。

ログアウト

ログインだけでなく、ユーザーがログアウトできるようにする必要もあります。ユーザーがログアウトする際は、アプリケーションのセッションを無効化しなければなりません。この SDK では、永続化されたユーザーデータとトークンデータを削除することを意味します。
(SSO) をご利用で、Auth0のセッションも終了したい場合は、シングルサインオンのログアウトのセクションを参照してください。ログアウトについて詳しくは、Auth0でのログアウトの仕組みを参照してください。

詳細情報