> ## Documentation Index
> Fetch the complete documentation index at: https://docs-dev-fix-docs-5528-php-updates.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Safariの使用でトークン更新の問題を解決する

> ITPが有効な場合、Safariでトークンを更新する際に問題が発生します。

最新バージョンのSafariブラウザーでは、サイレント認証でのトークン更新が期待通りに動作しないことがあります。新しいバージョンのSafariブラウザーには、[Intelligent Tracking Prevention（ITP）](https://webkit.org/blog/category/privacy/)という新機能が導入されています。ITPは、Webサイトによって、ユーザーの複数サイトでのアクティビティが追跡されるのを防ぐように設計されています。デフォルトで、ITPは有効になっています。使用しているSafariのバージョンにITPがあるのかを調べるには、**［設定］>［プライバシー］** タブに移動して、**［サイト越えトラッキングを防ぐ］** のオプションが選択されているかどうかを確認します。

## ITPとブラウザーの動作

ITPを有効にすると、ブラウザーはサードパーティのCookieが無効化されているように動作します。そのため、ユーザーに何も表示することなく新しいトークンを取得することが不可能になります。これは、<Tooltip data-tooltip-id="react-containers-DefinitionTooltip-0" href="/docs/ja-jp/glossary?term=openid" tip="OpenID: アプリケーションがログイン情報を収集および保存することなくにユーザーのIDを検証できるようにする認証用のオープン標準。" cta="用語集の表示">OpenID</Tooltip> Connect（OIDC）がSPAで[セッション](/docs/ja-jp/manage-users/sessions)を処理するためにiframeを使用する方法に似ています。

SPA SDK（推奨）にある`getTokenSilently`は、リフレッシュトークンのローテーションを使用するようにSDKを構成しない限り、[サイレント認証](/docs/ja-jp/authenticate/login/configure-silent-authentication)を行います。

## 回避策

ブラウザーに最近加わった新しいプライバシー保護機能は、サードパーティクッキーへのアクセスを妨げるため、ユーザーエクスペリエンスに悪影響を与えています。[リフレッシュトークンのローテーション](/docs/ja-jp/secure/tokens/refresh-tokens/refresh-token-rotation)を代わりに使用することもできます。リフレッシュトークンのローテーションは、SPAでリフレッシュトークンを安全に使用するためのセキュリティ方式であり、リソースにアクセスするエンドユーザーに、ITPのようなブラウザーのプライバシー保護技術に煩わされないシームレスなユーザーエクスペリエンスを提供します。

また、ITPによって引き起こされる問題を回避するために、Auth0の[カスタムドメイン](/docs/ja-jp/customize/custom-domains)機能を使用することができます。これは特に、そのカスタムドメインがアプリケーションのWebサイトドメインのサブドメインにある場合は有効です。たとえば、お使いのアプリケーションが **example.com** でホストされている場合、カスタムドメインは **subdomain.example.com** の形式である必要があります。

## ITPのデバッグモード

[Safari Technology Preview](https://developer.apple.com/safari/technology-preview/)にある［Intelligent Tracking Prevention Debug Mode（インテリジェントトラッキング防止機能のデバッグモード）］は、ITPの問題を解消するために使用することができます。ITPをデバッグする方法については、[こちらのWebKitブログ記事](https://webkit.org/blog/8387/itp-debug-mode-in-safari-technology-preview-62/)を参照してください。

**注意** ：この説明には、テスト目的で、カスタムドメインに追跡機能があると永続的に分類する方法が記載されています。しかし、新しいバージョンのSafari Technology Previewでは、この設定のためにUser Defaultsを保管するためのドメインが、`com.apple.SafariTechnologyPreview`から`com.apple.WebKit.Networking`に変更されています。手順で説明されているコマンドに問題がある場合には、以下を試してみてください。

* サイトに追跡機能があると分類する：
  `defaults write com.apple.WebKit.Networking ResourceLoadStatisticsManualPrevalentResource example.com`
* 設定を検査する：
  `defaults read com.apple.WebKit.Networking ResourceLoadStatisticsManualPrevalentResource`
* 設定を削除する：
  `defaults delete com.apple.WebKit.Networking ResourceLoadStatisticsManualPrevalentResource`

設定を有効にするには、変更するたびに、Safari Technology Previewを再起動する必要があります。
