TL;DR
- Auth0はAPIエンドポイントへのアクセスを保護する手段として、API認証および認可を提供しています(「API認証と認可」を参照)
- SPAのユーザーの認可には、Auth0はPKCEを使った認可コードフローの使用をお勧めします( 「PKCEを使った認可コードフロー」を参照)
- SPAとAPIはAuth0 Dashboardで設定する必要があります(「Auth0の構成」を参照)
- ユーザーの権限は、認可拡張機能を使用して強制することができます(「認可拡張機能を構成する」を参照)
- APIは、APIへの呼び出し時にHTTP認可ヘッダーに有効なアクセストークンが渡されることを確認することで保護されます(「APIを実装する」を参照)
- Auth0.jsライブラリーを使用して、SPAのユーザーを認可し、有効なアクセストークンを取得し、APIを呼び出すことができます(「ユーザーを認可する」を参照)
- SPAは、APIを呼び出す際にアクセストークンをHTTP認可ヘッダーに渡すことができます(「APIを呼び出す」を参照)
- SPAは、付与されたスコープに基づいて条件付きでUI要素を表示できます(「スコープに基づいた条件付きUI要素の表示」を参照)
Auth0では、IDトークンのみを必要とするブラウザーベースのアプリケーションに対して暗黙の付与を使用することが可能ですが、PKCEを使った認可コード付与を推奨しています。詳細については、Auth0ブログの「OAuth2の暗黙の付与とSPA」を参照してください。ユーザーを再認証することなく新しいアクセストークンやIDトークンを取得できるようにフレッシュトークンが必要な場合は、認可コード付与を使用する必要があります。