Skip to main content
クライアント資格情報を安全に保存できるアプリケーションでは、ハイブリッドフロー (OpenID Connect specification, section 3.3 で定義) を利用することでメリットが得られる場合があります。ハイブリッドフローでは、アプリケーションは にすぐアクセスできる一方で、も安全かつ確実に取得できます。これは、アプリケーションがユーザーに関する情報にすぐアクセスする必要がある一方で、保護されたリソースに長期間アクセスする前に何らかの処理を行う必要がある場合に役立ちます。

仕組み

ハイブリッドフロー は、Implicit Flow with Form Post認可コードフロー の手順を組み合わせたものです。
  1. ユーザーがアプリケーション内で Login を選択します。
  2. アプリケーションはユーザーを Auth0 Authorization Server (/authorize エンドポイント) にリダイレクトし、要求する資格情報の種類 (ID トークンと認可コード) を示す response_type パラメーターと、セキュリティを確保するための form_postresponse_mode パラメーターを渡します。
  3. Auth0 Authorization Server はユーザーをログイン画面と認可プロンプトにリダイレクトします。
  4. ユーザーは設定済みのログインオプションのいずれかを使用して認証を行い、Auth0 がアプリケーションに付与する権限が一覧表示された同意プロンプトが表示される場合があります。
  5. Auth0 Authorization Server は、指定された response_type に応じて、1 回限り有効な認可コードと、ID トークン、アクセストークン、またはその両方を付けて、ユーザーをアプリケーションにリダイレクトします。
  6. アプリケーションは、認可コード、アプリケーションの client ID、および Client Secret や Private Key JWT などのアプリケーションの資格情報を Auth0 Authorization Server (/oauth/token エンドポイント) に送信します。
  7. Auth0 Authorization Server は、認可コード、アプリケーションの client ID、およびアプリケーションの資格情報を検証します。
  8. Auth0 Authorization Server は、2 つ目の ID トークンとアクセストークン (必要に応じて、リフレッシュトークンも) を返します。
  9. アプリケーションは、2 つ目のアクセストークンを使用して API を呼び出し、ユーザーに関する情報にアクセスできます。
  10. API は要求されたデータを返します。
アプリケーションでサインオンのためだけに ハイブリッドフロー を使用する場合は、リフレッシュトークンやアクセストークンは不要で、必要なのはクレームを含む ID トークンだけです。

実装方法

チュートリアルに従って Authentication API を使用し、ハイブリッドフローを使用して API を呼び出すことができます。

詳しくはこちら