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

Natalia Markoborodova
Natalia Markoborodova

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

Mode API

モード API では、さまざまな UX モード構成が可能になり、新しい UX モード(アクティブ モード)が導入されます。アクティブ モードは、FedCM がデフォルトで使用する既存のパッシブ モード(旧称ウィジェット モード)の代替手段です。

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

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

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

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

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

別のアカウントを使用

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

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

継続 API バンドル

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

これらの機能は、IdP がユーザーに RP へのカレンダー アクセス権を付与させるなどの認可フローを実装するために使用できるため、バンドルされています。

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

継続 API

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

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

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

Parameters API

Parameters API を使用すると、RP は ID アサーション エンドポイントに追加の Key-Value パラメータを提供できます。パラメータ 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 デベロッパー ドキュメント更新ログの蓄積ページは、今後も最新の状態に保たれます。