PHP:Auth0-PHPを使用して始める
Auth0-PHP SDKはPHPアプリケーション内に統合され、シンプルなユーザーログインとサインアップを提供します。Facebook、Google、またはX(旧Twitter)のようなソーシャルIDプロバイダーやEntra IDなどのエンタープライズプロバイダーをサポートします。SDKは、Auth0の認証と管理エンドポイントにアクセスする便利な方法を提供します。
Auth0-PHPレポジトリは、オープンソースで、GitHubにホストされています。バグ報告、機能改善の提案、プル要求など、すべての貢献に感謝します。
要件
PHP 7.4以上(8.0以上を推奨)
インストール
Auth0 PHP SDKのインストールには、PHPの標準依存関係管理ツールであるComposerが必要です。Composerを使用すると、プロジェクトに必要な依存ライブラリを宣言し、それらを自動的にインストールできます。続ける前に、Composerがインストールされており、シェルからアクセス可能であることを確認してください。
次に、SDKをインストールするために、プロジェクトDirectoryから以下のシェルコマンドを実行します:
composer require auth0/auth0-php
Was this helpful?
vendor
というサブフォルダが作成され、PHP SDKを使用するために必要なすべての依存関係がダウンロードされます。また、これにより、SDKがアプリケーションと連携するために必要なvendor/autoload.php
ファイルも作成され、後でインポートします。はじめに
Auth0認証とManagement APIを使用するには、無料のAuth0アカウントとアプリケーションが必要です:
auth0.com/signupに移動し、アカウントを作成します。
ダッシュボードに移動したら、[Applications(アプリケーション)]、そして[Create Application(アプリケーションの作成)]の順に移動します。
アプリケーションに名称をつけ、[Regular Web Application(通常のWebアプリケーション)]、そして[Create(作成)]の順に選択します。
必要な資格情報に使用する[Settings(設定)]タブをクリックします。詳細については、「アプリケーションの設定」をお読みください。
SDKを構成する
敏感なAuth0資格情報を保存および読み込むために、環境変数を使用するべきです。これにより、アプリケーションにそれらをハードコーディングする必要がなくなります。プロジェクトディレクトリのルートにアプリケーションの資格情報を保存するための.env
ファイルを作成しましょう。
プロジェクトで環境変数を使用する最も簡単な方法は、PHP Dotenvのようなライブラリを使用して、ローカルの.env
ファイルと組み合わせることです。.env
ファイルを作成し(公開されないようにし、バージョン管理から除外されていることを確認してください)、以下の値を追加します:
# The URL of our Auth0 Tenant Domain.
# If we're using a Custom Domain, be sure to set this to that value instead.
AUTH0_DOMAIN='https://{yourDomain}'
# Our Auth0 application's Client ID.
AUTH0_CLIENT_ID='{yourClientId}'
# Our Auth0 application's Client Secret.
AUTH0_CLIENT_SECRET='{yourClientSecret}'
# A long secret value we'll use to encrypt session cookies. This can be generated using `openssl rand -hex 32` from our shell.
AUTH0_COOKIE_SECRET='SEE COMMENT ABOVE'
# The base URL of our application.
AUTH0_BASE_URL='http://127.0.0.1:3000'
Was this helpful?
このファイルをバージョン管理にコミットしたり、安全でない方法で共有したりしてはいけません。内容は慎重に取り扱い、パスワードのように扱うべきです。PHPは.env
ファイルをネイティブに読み込むことができないため、それを行うためのPHPライブラリをインストールする必要があります。このドキュメントでは、vlucas/phpdotenv
を使用しますが、お好きな「dotenv」ライブラリを使用しても問題ありません。プロジェクトディレクトリから、以下のシェルコマンドを実行し、ライブラリをインストールします:
composer require vlucas/phpdotenv
Was this helpful?
SDKを初期化する
新しいPHPアプリケーション内でSDKのインスタンスを構成し、初期化する準備が整いました。このデモのために作業するPHPソースファイルindex.php
を作成し、以下のスニペットを使用して始めましょう。
<?php
// Import the Composer Autoloader to make the SDK classes accessible:
require 'vendor/autoload.php';
// Load our environment variables from the .env file:
(Dotenv\Dotenv::createImmutable(__DIR__))->load();
// Now instantiate the Auth0 class with our configuration:
$auth0 = new \Auth0\SDK\Auth0([
'domain' => $_ENV['AUTH0_DOMAIN'],
'clientId' => $_ENV['AUTH0_CLIENT_ID'],
'clientSecret' => $_ENV['AUTH0_CLIENT_SECRET'],
'cookieSecret' => $_ENV['AUTH0_COOKIE_SECRET']
]);
Was this helpful?