> ## 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.

> API やウェブアプリで、ユーザーが MFA を使用してログインしたことを確認し、使用していない場合は特定のリソースにアクセスする際に認証の強化を求める ステップアップ認証 の仕組みを説明します。

# ステップアップ認証 を追加

ステップアップ認証 を使用すると、さまざまな種類のリソースへのアクセスを許可するアプリケーションで、機密性の高いリソースにアクセスする際に、より強力な認証方式をユーザーに要求できます。

Auth0 の拡張可能な <Tooltip tip="多要素認証 (MFA): SMS で送信されるコードなど、ユーザー名とパスワードに加えて認証要素を使用するユーザー認証プロセス。" cta="用語集を見る" href="/docs/ja-jp/glossary?term=multi-factor+authentication">多要素認証</Tooltip> (MFA) サポートを使用して、アプリに ステップアップ認証 を追加できます。アプリでは、ユーザーが MFA を使用してログインしたことを確認し、使用していない場合は特定のリソースにアクセスする際に追加の認証を求めることができます。

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

例として、Fabrikam の Intranet では、顧客データにアクセスするには、ユーザーはユーザー名とパスワードで認証する必要があります。ただし、従業員データ (機密性の高い給与情報を含む可能性があります) へのアクセスを要求すると、MFA などのより強力な認証方式がトリガーされます。

<Frame>
  <img src="https://mintcdn.com/translations/3nS3prIggmJG9TUI/docs/images/cdy7uua7fh8z/3w3duzjtD5B2Nu3oVQcbh/22d3a24aa3c3054fa089effbfa9d654c/step-up-flow.png?fit=max&auto=format&n=3nS3prIggmJG9TUI&q=85&s=109cdf958e7372e0aef4e2173a29c91c" alt="MFA ステップアップ認証フローの図" width="1902" height="1370" data-path="docs/images/cdy7uua7fh8z/3w3duzjtD5B2Nu3oVQcbh/22d3a24aa3c3054fa089effbfa9d654c/step-up-flow.png" />
</Frame>

<div id="step-up-authentication-for-apis">
  ## API の ステップアップ認証
</div>

<Tooltip tip="Audience: 発行されたトークンの audience を一意に識別する値です。トークン内では aud という名前で表され、その値には、ID トークンの場合はアプリケーション（Client ID）の ID、アクセストークンの場合は API（API Identifier）の ID が含まれます。" cta="用語集を見る" href="/docs/ja-jp/glossary?term=audience">audience</Tooltip> が API の場合は、[スコープ](/docs/ja-jp/get-started/apis/scopes)、[アクセストークン](/docs/ja-jp/secure/tokens/access-tokens)、[Actions](/docs/ja-jp/customize/actions) を使用して、Auth0 で step-up authentication を実装できます。ユーザーが機密性の高いリソースに対応するスコープを要求したときに、Action を使って step-up authentication の仕組み (たとえば MFA のプロンプト) をトリガーできます。

この例では、ユーザーが Fabrikam の web app にサインインします。通常のログインにより、このユーザーは API とやり取りして、ユーザーの口座一覧を取得できるようになります。つまり、ユーザーの認証後にアプリケーションが受け取る<Tooltip tip="Access Token: API へのアクセスに使用される、opaque な文字列または JWT 形式の認可資格情報です。" cta="用語集を見る" href="/docs/ja-jp/glossary?term=access+token">アクセストークン</Tooltip>には、`read:accounts` のようなスコープが含まれます。

ここでユーザーは、ある口座から別の口座に資金を移動したいと考えています。これは高額の transaction と見なされます。この操作を実行するには、API で `transfer:funds` スコープが必要です。

ユーザーの現在のアクセストークンにはこのスコープが含まれておらず、アプリケーションもそれを認識しています (アプリケーションは、初回認証の呼び出しで要求したスコープのセットを把握しているためです) 。アプリケーションは再度認証を行いますが、今回は `transfer:funds` スコープを要求します。ブラウザーは Auth0 にリダイレクトされます。Fabrikam の Action に従い、高価値のスコープが要求されたため、Auth0 は MFA での認証をユーザーに求めます。ユーザーが MFA で正常に認証されると、Auth0 はその高価値のスコープを含む新しいアクセストークンを生成して送信します。アプリケーションはそのアクセストークンを API に渡し、API は検証後にそれを破棄することで、単回使用トークンとして扱います。

詳細については、[API のステップアップ認証を設定する](/docs/ja-jp/secure/multi-factor-authentication/step-up-authentication/configure-step-up-authentication-for-apis) を参照してください。

<div id="step-up-authentication-for-web-apps">
  ## Web アプリ向けの ステップアップ認証
</div>

認証レベルを検証するのが API ではなく Web アプリである場合、アクセストークン はありません。この場合、ユーザーが MFA でログインしたかどうかは、<Tooltip tip="ID トークン: リソースへのアクセスではなく、クライアント自体を対象とした資格情報。" cta="用語集を見る" href="/docs/ja-jp/glossary?term=ID+token">ID トークン</Tooltip> の内容を確認することで判断できます。そのうえで、ID トークンからユーザーが MFA でログインしていないことがわかる場合は、機密情報を含むページへのアクセスを拒否するようアプリケーションを設定し、Action を使って step-up authentication の仕組み (たとえば MFA を求める処理) をトリガーできます。たとえば、ユーザー名とパスワードで認証する従業員向けアプリで、給与情報にアクセスする際に、モバイルへのプッシュ通知など第 2 の認証要素の提示を必須にするといったことが可能です。

これは、ユーザーがそのページにアクセスしようとしたときに ID トークンを確認することで実装できます。claims からユーザーがすでに MFA で認証済みであるとわかれば、機密情報を表示します。そうでない場合は、再度認証をトリガーし、Action を使ってユーザーに MFA での認証を求めます。

詳しくは、[Web アプリのステップアップ認証を設定する](/docs/ja-jp/secure/multi-factor-authentication/step-up-authentication/configure-step-up-authentication-for-web-apps) をご覧ください。

<div id="learn-more">
  ## 詳しく見る
</div>

* [API のステップアップ認証を設定する](/docs/ja-jp/secure/multi-factor-authentication/step-up-authentication/configure-step-up-authentication-for-apis)
* [Web アプリのステップアップ認証を設定する](/docs/ja-jp/secure/multi-factor-authentication/step-up-authentication/configure-step-up-authentication-for-web-apps)
