FedCM の更新: Chrome 132 のモード、他のアカウントの使用、連続性機能。

Natalia Markoborodova
Natalia Markoborodova

オリジン トライアルの成功を受けて、Chrome 132 で FedCM の新しいアップデートをいくつかリリースします。Mode APIUse Other Account APIContinuation API バンドルです。

Mode API

Mode API を使用すると、さまざまな UX モードを構成できます。また、新しい UX モードであるアクティブ モードも導入されています。アクティブ モードは、FedCM がデフォルトで使用する既存のパッシブ モード(旧称ウィジェット モード)の代替モードです。

アクティブ モード(旧称: ボタンモード)では、navigator.credentials.get() が呼び出されたときにユーザーが IdP からログアウトしている場合でも、ID プロバイダ(IdP)は FedCM API を使用できます。ログイン フローは、[IdP でログイン] ボタンのクリックなど、ユーザーの操作によって開始されます。これにより、ユーザーの意図がより正確に反映されます。

ユーザーがアクティブ モードの FedCM を使用して RP にログインします。

アクティブ モードのログイン ダイアログの UI は、パッシブ モードの UI とは異なります。サイズが大きく、中央に配置され、ブランディング アイコンも大きくなります。

パソコンで、アカウントでログインするようユーザーに求める FedCM ログイン アクティブ モード ダイアログ。ダイアログには、ブランドアイコンと、IdP から提供された現在のアカウントで RP にログインするオプション、別のアカウントを選択するオプション、キャンセルするオプションが表示されます。ダイアログは中央に表示され、パッシブ モードのダイアログよりも大きくなります。
パソコンのアクティブ モードでの FedCM ログイン ダイアログ UI。
パソコンで、アカウントでログインするようユーザーに求める FedCM ログイン パッシブ モード ダイアログ。ダイアログには、ブランド アイコンと、IdP から提供された現在のアカウントで RP にログインするか、キャンセルするかを選択するオプションが表示されます。ダイアログはブラウザのタブの左上に表示されます。
パソコンのパッシブ モードでの FedCM ログイン ダイアログ UI(デフォルト)。

アクティブ モードで FedCM を使用する方法については、デベロッパー向けドキュメントをご覧ください。

別のアカウントを使用

Use Other Account API を使用すると、IdP が複数のアカウントをサポートしている場合や、既存のアカウントの置き換えをサポートしている場合は、現在ログインしているアカウントとは異なるアカウントに切り替えることができます。

[別のアカウントを使用] ボタンが表示された FedCM アクティブ モード ダイアログ。
アクティブ モードでの「別のアカウントを使用する」機能: UI に [別のアカウントを使用する] ボタンが追加されます。

Continuation API バンドル

Continuation API バンドルは Chrome 132 以降で利用できます。このバンドルは、複数の FedCM 機能で構成されています。

これらの機能は、IdP がそれらを使用して、ユーザーが RP にカレンダーへのアクセスを許可するなど、認可フローを実装できるため、まとめて提供されています。

Continuation API バンドル: ログインフローが開始されると、Continuation API によってポップアップ ウィンドウに continue_on URL が開きます。ユーザーは、RP にログインする前に、追加の権限を確認して付与できます。Fields API は開示 UI メッセージを変更します。

Continuation API

Continuation API を使用すると、IdP は ID アサーション エンドポイント レスポンスでリダイレクト URL を提供して、複数ステップのログイン フローを有効にできます。これは、IdP が追加情報や権限をリクエストする必要がある場合に便利です。たとえば、次のような場合です。

  • ユーザーのサーバーサイド リソースにアクセスする権限。
  • 連絡先情報が最新であることを確認する。
  • 保護者による使用制限。

Continuation API の使用方法については、FedCM デベロッパー向けドキュメントをご覧ください。

Parameters API

Parameters API を使用すると、RP はID アサーション エンドポイントに追加の Key-Value パラメータを指定できます。Parameters API を使用すると、RP は IdP に追加のパラメータを渡して、基本的なログイン以外のリソースに対する権限をリクエストできます。
追加のパラメータを渡すことは、RP が請求先住所やカレンダーへのアクセスなどの追加の権限をリクエストする必要がある場合に便利です。ユーザーは、Continuation API を使用して起動される IdP が制御する UX フローを通じてこれらの権限を承認できます。IdP は、この情報を共有します。

Parameters API の使用方法については、デベロッパー向けドキュメントをご覧ください。

Fields API

Fields API を使用すると、RP は IdP から共有する必要があるユーザー情報(名前、メールアドレス、プロフィール写真の組み合わせ)を指定できます。リクエストされた情報は、FedCM ダイアログの情報開示 UI に表示されます。ユーザーがログインを選択すると、idp.example がリクエストされた情報を rp.example と共有することを通知するメッセージが表示されます。

開示メッセージを表示する FedCM アクティブ モード ダイアログ。続行すると、ID プロバイダはユーザーのメールアドレスとプロフィール写真をウェブサイトと共有します。
アクティブ モードでの開示メッセージ: RP は、ユーザーのメールアドレスとプロフィール写真のみを共有するよう IdP にリクエストします。

Fields API の使用方法については、デベロッパー向けドキュメントをご覧ください。

複数の configURL

複数の configURL を使用すると、IdP は、構成ファイルと同じ well-known ファイルaccounts_endpointlogin_url を指定して、IdP の複数の構成ファイルを使用できます。この機能は、次のような場合に役立ちます。

  • IdP は、複数の異なるテスト環境と本番環境の構成をサポートする必要があります。
  • IdP は、リージョンごとに異なる構成(eu-idp.exampleus-idp.example など)をサポートする必要があります。

実装の詳細については、デベロッパー向けドキュメントをご覧ください。

カスタム アカウント ラベル

カスタム アカウントラベルを使用すると、IdP はユーザー アカウントにラベルをアノテーションできます。RP は、特定のラベルの configURL を指定して、特定のラベルを持つアカウントのみを取得できます。これは、RP が特定の条件でアカウントを除外する必要がある場合に便利です。たとえば、developerhr などのロール固有のアカウントのみを表示する場合などです。

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

フィードバックがある場合や問題が発生した場合は、問題を報告してください。FedCM デベロッパー向けドキュメント累積更新ログのページは、最新の状態に保たれます。