LoginSignup
15
10

More than 3 years have passed since last update.

Auth0 概要

Posted at

Auth0の概要記事。Auth0を構成する概念と連携例をまとめる。

Auth0とは

  • Web・ネイティブアプリやAPIなどに対し、認証・認可ソリューションをクラウドで提供するIDaaS (Identity as a Service)。

Auth0の概念

Tenant(テナント)

  • Auth0のAssets(Application、Connection、User)を定義・管理、保管する論理分割単位。

  • Auth0を利用開始時に、アカウントと併せて作成。

Account(アカウント)

  • テナントを管理する主体。

  • テナントと同時に作成。

  • 作成方法

    • Email/Password登録
    • GitHubアカウント
    • Googleアカウント
    • Microsoftアカウント
  • アカウント:テナント = N:N

    • 1アカウントで複数のテナントを管理可能。
    • 1テナントに複数のアカウントを紐づけることも可能。

Application(アプリケーション)

  • テナントに対してログインを要求できるクライアント。

  • 以下に対応。

    • Native/Mobile Application
    • Single Page Web Application
    • Regular Web Application
    • Machine to Machine Application
  • テナント:アプリケーション = 1:N

    • 例:サービスをiOSアプリ、Androidアプリ、Webアプリで提供する ⇒ 3アプリケーション用意。

Connection(コネクション)

  • ログイン手段

    • メールアドレス/パスワード、Twitterアカウント、Googleアカウント、...
  • テナント:コネクション = 1:N

  • コネクション 説明
    Database Connection Auth0もしくは自社DBで認証情報を管理
    例:メールアドレス/パスワード
    Social Login ソーシャルアカウントを利用
    例:Google、Twitter、...
    Enterprise Directory エンタープライズ向け製品を利用
    例:LDAP、Office365、G Suite、SAMLなど
    Passwordless System ワンタイムキーを利用
    例:電話番号またはメールアドレス

User(ユーザー )

  • アプリケーションにログイン可能なユーザー。

  • コネクション配下に作成される。

    • コネクション別に異なるユーザーとして扱う
    • 同一ユーザーがTwitterでログインしたあと、別途Googleログインした場合、TwitterログインユーザーとGoogleログインユーザーは別ユーザーとして扱う。

概念全体構成

Auth0_concept.png

Auth0連携例

  1. Single Sign-On for Regular Web Apps Auth0_SSO.png
  2. Server Application + API Auth0_Server+API.png
  3. SPA+API(Implicit Flow) Auth0_ImplicitFlow.png

参考情報

15
10
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
15
10