> ## Documentation Index
> Fetch the complete documentation index at: https://translations.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> ハイブリッドフローの仕組みと、ID トークンにすばやくアクセスしながら、アクセストークンとリフレッシュトークンを認可コードフローで安全に取得する方法について説明します。

# ハイブリッドフロー

[クライアント資格情報](/docs/ja-jp/secure/application-credentials)を安全に保存できるアプリケーションでは、ハイブリッドフロー ([OpenID Connect specification, section 3.3](https://openid.net/specs/openid-connect-core-1_0.html#HybridFlowAuth) で定義) を利用することでメリットが得られる場合があります。ハイブリッドフローでは、アプリケーションは <Tooltip tip="ID トークン: リソースへのアクセス用ではなく、クライアント自体を対象とした資格情報です。" cta="用語集を見る" href="/docs/ja-jp/glossary?term=ID+token">ID トークン</Tooltip>にすぐアクセスできる一方で、<Tooltip tip="ID トークン: リソースへのアクセス用ではなく、クライアント自体を対象とした資格情報です。" cta="用語集を見る" href="/docs/ja-jp/glossary?term=access+tokens">アクセストークン</Tooltip>と <Tooltip tip="アクセストークン: API へのアクセスに使用される、不透明な文字列または JWT 形式の認可資格情報です。" cta="用語集を見る" href="/docs/ja-jp/glossary?term=refresh+tokens">リフレッシュトークン</Tooltip>も安全かつ確実に取得できます。これは、アプリケーションがユーザーに関する情報にすぐアクセスする必要がある一方で、保護されたリソースに長期間アクセスする前に何らかの処理を行う必要がある場合に役立ちます。

<div id="how-it-works">
  ## 仕組み
</div>

ハイブリッドフロー は、[Implicit Flow with Form Post](/docs/ja-jp/get-started/authentication-and-authorization-flow/implicit-flow-with-form-post) と [認可コードフロー](/docs/ja-jp/get-started/authentication-and-authorization-flow/authorization-code-flow) の手順を組み合わせたものです。

1. ユーザーがアプリケーション内で **Login** を選択します。
2. アプリケーションはユーザーを Auth0 Authorization Server ([`/authorize` エンドポイント](https://auth0.com/docs/api/authentication#authorization-code-flow)) にリダイレクトし、要求する資格情報の種類 (ID トークンと認可コード) を示す `response_type` パラメーターと、セキュリティを確保するための `form_post` の `response_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` エンドポイント](https://auth0.com/docs/api/authentication?http#authorization-code-flow43)) に送信します。
7. Auth0 Authorization Server は、認可コード、アプリケーションの client ID、およびアプリケーションの資格情報を検証します。
8. Auth0 Authorization Server は、2 つ目の ID トークンとアクセストークン (必要に応じて、リフレッシュトークンも) を返します。
9. アプリケーションは、2 つ目のアクセストークンを使用して API を呼び出し、ユーザーに関する情報にアクセスできます。
10. API は要求されたデータを返します。

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  アプリケーションでサインオンのためだけに ハイブリッドフロー を使用する場合は、リフレッシュトークンやアクセストークンは不要で、必要なのはクレームを含む ID トークンだけです。
</Callout>

<div id="how-to-implement-it">
  ## 実装方法
</div>

チュートリアルに従って Authentication API を使用し、[ハイブリッドフローを使用して API を呼び出す](/docs/ja-jp/get-started/authentication-and-authorization-flow/hybrid-flow/call-api-hybrid-flow)ことができます。

<div id="learn-more">
  ## 詳しくはこちら
</div>

* [Auth0 ルール](/docs/ja-jp/customize/rules)
* [Auth0 フック](/docs/ja-jp/customize/hooks)
* [トークン](/docs/ja-jp/secure/tokens)
* [トークンのベストプラクティス](/docs/ja-jp/secure/tokens/token-best-practices)
* [どの OAuth 2.0 フローを使うべきですか？](/docs/ja-jp/get-started/authentication-and-authorization-flow/which-oauth-2-0-flow-should-i-use)
* [アプリケーションの資格情報](/docs/ja-jp/secure/application-credentials)
