LoginSignup
18
5

More than 3 years have passed since last update.

Auth0 を使ってユーザログインを実装する

Last updated at Posted at 2019-12-19

この記事は 弁護士ドットコム Advent Calendar 2019 20日目の記事です。

スクリーンショット 2019-12-16 20.13.06.png

はじめに

簡単に認証認可基盤が作れるAuth0を触ってみました。今回は、Auth0で提供しているサンプルコードで簡単なアプリを作ってみます。

Auth0とは

Auth0はWeb、モバイル、およびレガシーアプリケーション向けのユニバーサル認証・認可プラットフォームを提供します

Auth0に登録

スクリーンショット 2019-12-16 19.14.02.png

Googleアカウントを利用してAuth0のアカウントを作ります

テナントの登録と連絡先を入力すると登録完了です

ダッシュボード画面

スクリーンショット 2019-12-16 19.21.35.png

アプリケーション画面

スクリーンショット 2019-12-16 19.22.33.png

Default Appがあるので、今回はこれを利用します

クライアント側の設定

Applicationの設定画面

スクリーンショット 2019-12-16 19.23.39.png

Quick Start を見てみます

スクリーンショット 2019-12-16 19.25.39.png

今回は、「Regular Web App」->「PHP」と選択したサンプルコードを利用します

スクリーンショット 2019-12-16 19.28.03.png

必要な情報を取得します

  • Domain
  • Client ID
  • Client Secret

を、メモします

CallbackUriを登録します

スクリーンショット 2019-12-16 19.42.36.png

サンプルコードのコールバックを、http://localhost:3000 登録します

Logout URLを登録します

スクリーンショット 2019-12-16 19.48.52.png

サンプルコードの場合は、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 にアクセスします

スクリーンショット 2019-12-16 20.12.26.png

ログインします

スクリーンショット 2019-12-16 20.13.06.png

Googleの認証ボタンと、メールアドレス+パスワードの認証が求められました
まだ、メールアドレス+パスワードの登録はしていないので、Googleで認証します

スクリーンショット 2019-12-16 20.15.28.png

認証が通りました
許可します

スクリーンショット 2019-12-16 20.23.27.png

localhost:3000に戻ってきました
ちゃんと、ユーザの情報が取得されてますね

Auth0のダッシュボードも登録されたユーザがあります

スクリーンショット 2019-12-16 20.32.56.png

まとめ

Auth0 で、簡単に認証認可のサービスを作ることができました。また、Auth0の管理画面でユーザ情報が見れて、管理画面を作らなくてもいいのも嬉しいですね。まだ他にもAuth0には色々な機能があるので試していきたいと思います。(2要素認証とかRole管理など)

18
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
5