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

Natalia Markoborodova
Natalia Markoborodova

オリジン トライアルの成功を受けて、Chrome 131 では FedCM を Storage Access API の信頼シグナルとして使用しています。

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

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

このシナリオでは、SAA が権限プロンプトをトリガーするため、ユーザーは 2 つの異なるプロンプト(1 つは認証用、もう 1 つは Cookie アクセスの許可用)を承認する必要があります。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
}

オリジン トライアルの参加者は、一般的な Storage Access API プロンプトよりもコンテキスト固有の FedCM プロンプトによってユーザー エクスペリエンスが向上したことを評価しています。

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

エンゲージしてフィードバックを提供

フィードバックを共有したり、問題を報告したりするには、問題を報告してください。FedCM デベロッパー ガイド累積更新ログのページは、最新の状態に保たれます。