FedCM: Chrome 131 の Storage Access API の信頼シグナル

オリジン トライアルの成功を受けて、Chrome 131 では Storage Access API の信頼シグナルとして FedCM が使用されるようになりました。

Storage Access API(SAA)を使用すると、ブラウザ設定によってアクセスが拒否される場合に、クロスオリジンの iframe からストレージのアクセス権限をリクエストできます。

一部のウェブサイトでは、認証に FedCM を使用し、必要なストレージにクロスオリジン iframe がアクセスできるように SAA を使用する場合があります。たとえば、idp.example が rp.example に埋め込まれており、idp.example がパーソナライズされたコンテンツを表示するために独自のトップレベル Cookie へのストレージ アクセスを必要とする場合です。

このシナリオでは、SAA が権限プロンプトをトリガーするため、ユーザーは認証用のプロンプトと Cookie アクセスを許可するためのプロンプトの 2 つの異なるプロンプトを承認する必要があります。FedCM は、信頼シグナルとして機能することで、Storage Access API のプロセスを簡素化します。ユーザーが FedCM でログインすると、IdP から開始されたストレージ アクセス リクエストが自動的に許可されるため、追加の SAA プロンプトは不要になります。

// In top-level rp.example:

// Ensure FedCM permission has been granted.
const cred = await navigator.credentials.get({
  identity: {
    providers: [{
      configURL: 'https://idp.example/fedcm.json',
      clientId: '123',
    }],
  }
});

// In an embedded IdP iframe:

// Returns `true` if the user already has access to cookies, and `false` if
// the user doesn't have access yet and needs to request it.
const hasAccess = await document.hasStorageAccess()
if(!hasAccess){
    // No user gesture is needed to approve storage access, and the call will be auto-granted.
    document.requestStorageAccess().then(e=>{
        //access cookies
    })
} else{
    //the iframe already has access to third-party cookies
}

オリジン トライアルの参加者からは、コンテキスト固有の FedCM プロンプトによって、一般的な Storage Access API プロンプトよりもユーザー エクスペリエンスが向上したという肯定的なフィードバックが寄せられています。

FedCM を使用してストレージ アクセス権を自動的に付与する方法について詳しくは、Storage Access API のドキュメントをご覧ください。

意見交換とフィードバックの提供

フィードバックを送信したり、問題を報告したりするには、問題を登録します。FedCM デベロッパー ガイドと更新ログの累積ページは、今後も最新の状態に保たれます。