Federated Credential Management API

プライバシーを保護する ID 連携のためのウェブ API。

Published on Updated on

Translated to: English

実装状況

このドキュメントでは、ID 連携の新しい提案である Federated Credential Management API(FedCM)の概要を説明します。

FedCM が必要な理由

過去 10 年間、ID 連携は、使いやすさ(パスワードレスのシングルサインオンなど)、セキュリティ(フィッシング攻撃やクレデンシャルスタッフィング攻撃への耐性の向上など)、サイト単位でのユーザー名とパスワードに比較した信頼性の観点から、ウェブでの認証の水準を上げる上で中心的な役割を果たしてきました。

ID 連携を採り入れることで、RP(リライングパーティ)は IDP(ID プロバイダー)に依存して、ユーザーに新しいユーザー名とパスワードを要求せずにアカウントを提供することが可能となっています。

Key Term

ID 連携 は、信頼できる外部パーティ(ID プロバイダー または IdP)に個人(ユーザーまたはエンティティ)の認証または認可を委任します。 すると ID プロバイダーは、その個人のウェブサイト(リライングパーティ または RP)へのサインインを許可します。

残念ながら、ID 連携の設計基盤(iframe、リダイレクト、Cookie)の仕組みでは、ウェブ全体でユーザーをトラッキングすることも可能です。 ユーザーエージェントは ID 連携とトラッキングを区別できないため、これらの仕組みが ID 連携をサポートするために使用されているのかどうかを判断するのが困難となっています。

Federated Credential Management API(FedCM)は、ウェブ上の ID 連携フローをユースケースごとに抽象化することができます この専用の API を用いることで、ブラウザは RP と IdP が情報を交換するコンテキストを理解し、共有される情報と特権レベルをユーザーに伝達することで、意図しない悪用を防ぐことができます。

期待される影響

Caution

プライバシーサンドボックスイニシアチブを使用して、Chrome 上のすべてのトラッキングベクターを軽減することを目指しています。 サードパーティ Cookie の段階的廃止による影響を減らすことを最初の取り組みとしています。他のブラウザですでに行われている最中ですが、Chrome では 2023 年に予定されています。 これらの Cookie を削除すると、サードパーティの追跡を減らすことができますが、他のクロスサイトのユースケースにも影響が及ぼされます。

コミュニティの取り組みと私たちの調査を通じて、サードパーティ Cookie の段階的廃止の影響を受ける ID 連携関連の統合がいくつかあることがわかりました。

FedCM の最初の目標は、サードパーティ Cookie の段階的廃止が ID 連携に与える影響を減らすことです。上記は、影響を受けると予想される領域のリストです。 その他のユースケースでリストに含まれていないものがある場合は、貢献とフィードバックの共有をお勧めします。

FedCM の推奨使用対象者

以下のすべての条件に該当する場合にのみ、FedCM が役立つと考えています。

  1. ID プロバイダー(IdP)である
  2. サードパーティ Cookie の段階的廃止の影響を受ける
  3. RP がサードパーティである。 使用している RP が SameParty である場合、First-Party Sets での配信が適している可能性があります。

IdP である場合

FedCM は ID プロバイダーからのサポートを必要とします。 リライングパーティは単独で FedCM を使用することはできません。 あなたが RP である場合は、IdP に指示を求めてください。

サードパーティ Cookie の段階的廃止の影響を受ける場合

Chrome でサードパーティ Cookie をブロックする構成を行い、サードパーティ Cookie の段階的廃止をシミュレーションします
Chrome でサードパーティ Cookie をブロックする構成を行い、サードパーティ Cookie の段階的廃止をシミュレーションします

FedCM は、現在の統合がサードパーティ Cookie の段階的廃止による影響を受ける場合にのみ使用してください。 影響を受けない場合は、FedCM を使用しないことをお勧めします。

Chrome のサードパーティ Cookie が段階的に廃止された後も ID 連携が引き続き機能するかどうかわからない場合は、シークレットモードでウェブサイトでの統合への影響をテストすることができます。 または、デスクトップの場合は chrome://settings/cookies で、モバイルの場合は設定 > サイト設定 > Cookie に移動して、サードパーティ Cookie をブロックすることができます。

サードパーティ Cookie を使用しなくても ID 連携への影響が検出されない場合は、FedCM を使用せずに、現在の統合を引き続き使用できます。

確認すべき内容がわからない場合は、段階的廃止による影響が期待される既知の機能について詳しくお読みください。

RP がサードパーティである場合

RP が IdP と同一パーティ内にある ID プロバイダーの場合、First-Party Sets がより適切なオプションであると予想されます。 First-Party Sets を使用すると、同じエンティティが所有および運営する関連ドメイン名を、同じファーストパーティに属していると宣言できます。 このため、サードパーティ Cookie が段階的に廃止された後でも、同一パーティのサードパーティ Cookie が機能します。

First-Party Sets は常に使用できるわけではありませんが、 RP が SameParty の場合は、First-Party Setsの使用を検討してください。

ユーザーと FedCM の対話

FedCM の最初のオリジントライアルでは、主にサードパーティ Cookie の段階的廃止による影響を軽減することに焦点が当てられています。 ユーザーは、Chrome のユーザー設定で FedCM を有効または無効にできます。

FedCM はプロトコルに依存しないように設計されており、次の 認証関連機能を提供します。

仕組みについては、デモを確認してください。

将来的には、以下を含むより多くの機能をサポートしたいと考えています。

  • 自動サインイン
  • 認可プロンプト
  • アクセストークンとリフレッシュトークン
  • フロントチャネルログアウト: ID プロバイダー(IdP)が開始するリライングパーティ(RP)からのサインアウト
  • OpenID Connect(OIDC) セッション管理
  • クロスオリジン iframe
  • パーソナル化されたボタン

リライングパーティにサインインする

ユーザーは FedCM を使用して RP にサインインする

ユーザーがリライングパーティ(RP)のウェブサイトにアクセスすると、ユーザーが IdP にサインインしている場合は FedCM サインインダイアログが表示されます。

ユーザーが RP にサインインしていない場合は、ユーザー登録ダイアログが表示され、RP の利用規約(必須)やプライバシーポリシー(提供されている場合)などの追加の開示文言が表示されます。

ユーザーが「~として続行」をタップするとサインインが完了します。 成功した場合、ユーザーのアカウントステータスとサインインステータスがブラウザに保存されます。

Caution

既知のイシューがあります。 ユーザーが IdP でサインインしないか、セッションが期限切れになっている場合、FedCM ダイアログが表示されません。 この修正が必要な場合は、フィードバックをお送りください

RP が FedCM をサポートしていないブラウザをサポートする可能性がありますが、 その場合でも、ユーザーは FEDCM 以外の既存のサインインプロセスを使用できるはずです。 FedCM のオリジントライアルでサインインがどのように機能するかについて、詳細をご覧ください。

RP からサインアウトする

ユーザーが RP からサインアウトすると、FedCM はブラウザからサインイン状態をクリアします。

トークンを取り消す

ユーザーは、リライングパーティのトークンを取り消すことができます(リライングパーティからの登録解除など)。 ユーザーが IdP にサインインしている場合、RP は FedCM を使用して、その IdP にユーザーのトークンを取り消すように要求できます。 同時に、FedCM は RP のサインイン状態をブラウザからクリアします。

FedCM の有効化または無効化を設定する

ユーザーは Android の Chrome の設定で FedCM を有効または無効にできます。 設定 > サイトの設定 > サードパーティのサインインに移動し、トグルを変更します。

モバイルの Chrome 設定でサードパーティのサインインをトグルして、FedCM を有効にします

デスクトップの Chrome では、chrome://settings/content/federatedIdentityApi で同じ操作を行えます。

デスクトップの Chrom 設定でサードパーティの再任をトグルして、FedCM を有効にします

IdP による FedCM のサポート方法

サポートの詳細については、実装方法と FedCM の サードパーティオリジントライアルへの参加方法について、詳細な指示をお読みください。

貢献とフィードバックの共有

詳細について

Last updated: Improve article

We serve cookies on this site to analyze traffic, remember your preferences, and optimize your experience.