Auth0 入門
Auth0
Auth0 はアプリケーションのログイン・ログアウトやID管理といった認証システムを提供してくれるサービス。 認証部分のコーディングやセキュリティ周りの構築を丸投げできて便利。
無料プランでも7000アクティブユーザまで管理できて "Up to 2 social identity providers" 1 なので趣味で使うには十分かと思う。
テナント
Auth0 のアカウントを作成するとまずテナントと呼ばれるものを作ることを求められる。
テナントは各種 identity provider があなたのアプリの URL (の代わり)として認識するもので、要は各種 identity provider と実際のアプリとの間に入る抽象。 YOUR-TENANT-NAME.us.auth0.com
みたいな名前で Auth0 全体でユニークである必要がある(たぶん)。
最初は pione30.us.auth0.com
というテナント名にしてみたけど、後からドキュメント を読んでみると
You can create more than one tenant; in fact you are encouraged to do so for each environment you may have, such as development, staging, or production.
とあるので、なるべく粒度を細かくテナントを分けるのがベストプラクティスなのかなという感じがする。例えば awesomeapp-staging-pione30.us.auth0.com
みたいな。
テナントを作成したら Quickstarts を読みながら自分の作りたいアプリに合った導入ガイドに従うと良い。例えば React で SPA 構築するぞという場合はこちら。
コネクション
ユーザが入力するログイン情報の提供元と Auth0 との関連はコネクションと呼ばれる。
自分のアプリが使うように設定したコネクションは実際にはユーザの目に触れる「ログイン情報を入力してください」画面でユーザが選択可能なログイン手段として表示されることになる。 例えばユーザ名・パスワードによるログインはDatabase Connectionsと呼ばれている。
ソーシャルアカウントを使ったログインが主流[要出典]な現代、ご多分に漏れず Auth0 でも様々な Social Identity Providers が利用可能である(一覧はこちら)。
例えば「Twitter アカウントでログイン」機能をユーザに提供したいと思ったらこちらのドキュメントを読みながら設定していきましょう。事前にTwitter Developer accountの申請が必要です。
おわりに
便利な世の中です。情報を整理してまた何か追記するかも。