この例ではExampleCoという架空の会社のためにウェブアプリケーションを作成します。当該のアプリは、ExampleCoの従業員と請負業者によって用いられるものとします。従業員は既存の企業ディレクトリ(アクティブディレクトリ)を用いる一方、請負業者は別のユーザーストアで管理されます。Documentation Index
Fetch the complete documentation index at: https://auth0.generaltranslation.app/llms.txt
Use this file to discover all available pages before exploring further.
TL;DR
- Auth0は認証と認可にOAuth 2.0とのオープン標準をサポートしています(「使用するプロトコル」を参照)
- OIDCがいくつかの異なる認可フローをサポートする中で、Webアプリケーションに最適なのは認可コードフローです(「認証フロー」を参照)
- アプリケーションはAuth0ではアプリケーションとして扱われます(「アプリケーション」を参照)
- IDプロバイダーはAuth0では接続として扱われます( 「接続」を参照)
- Auth0はLockウィジェットを提供して、ユーザーがアプリケーションにログインできるようにしています(「ユーザーのログイン」を参照してください)
- Webアプリケーションは、ユーザーのログインを継続して追跡するために、セッションの状態を管理する必要があります。この他にも、Auth0とIDプロバイダーはセッション情報を管理しています(「セッションの管理」を参照してください)。
- それとは反対に、ユーザーをログアウトさせることにも、3つのレイヤーでセッションを管理することが関与しています(「ユーザーのログアウト」を参照してください)。
- アクセス制御はAuth0認可拡張機能を使って管理することができます(「アクセス制御」を参照してください)。
通常のWebアプリとは、主にサーバー側、ページの
GET、POST、状態を維持するためのクッキーを使用するアプリを指します。他方、Web SPA(シングルページアプリ)は、クライアント側のJavaScriptコードによるAPIの呼び出しに大きく依存します。前提条件
目標と要件
認証と認可
ExampleCo社はユーザーをそれぞれ__認証__および__認可__したいと考えています。認証はIDに関連しており、ユーザーが主張する身元が実際に彼ら自身であることを検証することです。認可は、ユーザーがどのリソースにアクセスできるかと、それらのリソースをどのように使用できるかを決定することに関するものです。- ユーザーロールでは、日付、勤務内容、勤務時間を指定してタイムシートに入力できます。管理者ロールも、これと同じ権限を持ちます。
- ユーザーロールでは、自分自身のタイムシートの入力内容にのみアクセスできるようにします。
-
管理者ロールでは、これに加え次のことを可能にします:
- 他ユーザーのタイムシートの入力内容を承認または却下する。
- 勤務内容のドロップダウンリストの値を編集できる(追加、編集、削除)。
