この記事は 弁護士ドットコム Advent Calendar 2019 20日目の記事です。
はじめに
簡単に認証認可基盤が作れるAuth0を触ってみました。今回は、Auth0で提供しているサンプルコードで簡単なアプリを作ってみます。
Auth0とは
Auth0はWeb、モバイル、およびレガシーアプリケーション向けのユニバーサル認証・認可プラットフォームを提供します
Auth0に登録
Googleアカウントを利用してAuth0のアカウントを作ります
テナントの登録と連絡先を入力すると登録完了です
ダッシュボード画面
アプリケーション画面
Default Appがあるので、今回はこれを利用します
クライアント側の設定
Applicationの設定画面
Quick Start を見てみます
今回は、「Regular Web App」->「PHP」と選択したサンプルコードを利用します
必要な情報を取得します
- Domain
- Client ID
- Client Secret
を、メモします
CallbackUriを登録します
サンプルコードのコールバックを、http://localhost:3000
登録します
Logout URLを登録します
サンプルコードの場合は、http://localhost:3000
を登録します
PHPサンプルコード
サンプルコード https://github.com/auth0-samples/auth0-php-web-app/tree/master/00-Starter-Seed
を展開します
.env
ファイルの内容を修正します
AUTH0_CLIENT_ID=
AUTH0_DOMAIN=
AUTH0_CLIENT_SECRET=
AUTH0_CALLBACK_URL=
AUTH0_AUDIENCE=
上記で、メモした情報を入れます
Dockerを使用する場合は、DockerFileがあるのでImageを作って実行します
$docker build -t auth0:sample .
$docker run -it -p 3000:3000 --rm --env-file=./.env auth0:sample
Dockerを使わない場合は、PHPビルトインサーバーを利用します
$composer install
$php -S localhost:3000
localhost:3000 にアクセスします
ログインします
Googleの認証ボタンと、メールアドレス+パスワードの認証が求められました
まだ、メールアドレス+パスワードの登録はしていないので、Googleで認証します
認証が通りました
許可します
localhost:3000に戻ってきました
ちゃんと、ユーザの情報が取得されてますね
Auth0のダッシュボードも登録されたユーザがあります
まとめ
Auth0 で、簡単に認証認可のサービスを作ることができました。また、Auth0の管理画面でユーザ情報が見れて、管理画面を作らなくてもいいのも嬉しいですね。まだ他にもAuth0には色々な機能があるので試していきたいと思います。(2要素認証とかRole管理など)