FedCM の最新情報: 自動再認証のオリジン トライアル

自動再認証の新しいオリジン トライアルなど、FedCM のアップデートをいくつか導入しました。

Federated Credential Management API(FedCM)は、 ウェブ API を使用して、プライバシーを保護する ID 連携を実現します。ID 連携を使用すると、 RP(証明書利用者)は、IdP(ID プロバイダ)を使用してユーザーに 新しいユーザー名とパスワードの入力を求める必要はありません。

FedCM はブラウザがコンテキストを理解できるようにする目的特化型の API (RP と IdP が情報を交換する場合)は、 共有し、意図しない不正使用を防止します。

更新

Chrome の FedCM 実装が更新されました。

過去の API の更新については、Federated Credential Management について確認してください。 API の更新

最新バージョンの FedCM には新しい自動再認証機能が含まれており、FedCM を使用した初期認証後に戻ってきたときに、ユーザーを自動的に再認証できます。Chrome 112 以降では、自動再認証をオリジン トライアルとして利用できます。

自動再認証

現在、ユーザーが IdP を使用して RP で連携アカウントを作成した後 (FedCM 経由): 次回ユーザーが ウェブサイトで同じ手順を踏む必要があります つまり、サービス アカウントの確認と再認証を ログインフローに進みます。主な指標の 1 つは FedCM の目標は隠れたトラッキングを防ぐことであり、このユーザー エクスペリエンス(UX)は、ユーザーが閲覧する前から意味をなすものである 作成したフェデレーション アカウントは不要で面倒になります。 1 度に経験したことがないからですユーザーが通信を許可する権限を付与した後 接続されるため、プライバシーとセキュリティ上のメリットは ユーザーが持っているものについて、別の明示的なユーザー確認を適用する 確認してくださいそこで Chrome では、 RP がリピーター向けに選択できる UX。

FedCM 自動再認証 (略して「auto-reauthn」)、ユーザーを自動的に再認証します(RP がオプトインしている場合)。 FedCM を使用した初期認証の後に戻ってきたときに、「最初の であるユーザーがアカウントを作成するか RP にログインすることを意味します。 FedCM のログイン ダイアログで [Continue as...] ボタンをタップして、ウェブサイト 実行されている場合があります

<ph type="x-smartling-placeholder">
</ph> アカウントの作成や認証を行うためにユーザーがタップするダイアログ。
アカウントの作成や認証を行うためにユーザーがタップするダイアログ。

RP は、autoReauthn: true を指定して navigator.credentials.get() を呼び出すことで、自動再認証をリクエストできます。

const cred = await navigator.credentials.get({
  identity: {
    providers: [{
      configURL: "https://idp.example/fedcm.json",
      clientId: "1234",
    }],
    // NOTE: We are exploring different API options to expose this
    // functionality here:
    // https://github.com/fedidcg/FedCM/issues/429#issuecomment-1426358523
    // You should expect that, as a result of the origin trial, we'll
    // learn more from developers and browser vendors what works best here.
    autoReauthn: true, // default to false
  },
});

この呼び出しでは、次の条件で自動再認証が行われます。

  • FedCM を利用できます。たとえば、ユーザーが FedCM も無効にしていない。 割り当てられています
  • このブラウザでウェブサイトへのログインに使用した FedCM アカウントは 1 つのみです。
  • ユーザーはそのアカウントを使用して IdP にログインしています。
  • 自動再認証が過去 10 分以内に行われていません。

上記の条件が満たされると、 FedCM navigator.credentials.get() が呼び出されるとすぐにユーザーが起動します。

<ph type="x-smartling-placeholder">
</ph>
ユーザーが FedCM を使用して RP に対して自動再認証を行っている

試してみる

FedCM 自動再認証をローカルで試すには、Chrome の フラグ: chrome://flags#fedcm-auto-re-authn、オン Chrome 112 以降。

テストのために、10 分間のサイレント期間をリセットするには、 ブラウザデータ

  1. chrome://history に移動します。
  2. 検索履歴ボックスに RP の生成元を入力します。
  3. その他アイコン ⋮ をクリックし、[履歴から削除] を選択します。
  4. Chrome を再起動します。

オリジン トライアルに参加する

サードパーティに参加することで、ウェブサイトでこの機能を有効にすることもできます。 オリジン トライアルを Chrome 112 で利用可能 リリースされます。

オリジン トライアルでは、新しい機能を試し、そのユーザビリティ、実用性、有効性をウェブ標準コミュニティにフィードバックできます。詳しくは、ウェブ デベロッパー向けのオリジン トライアル ガイドをご覧ください。 このオリジン トライアルまたは別のオリジン トライアルに登録するには、登録ページにアクセスしてください。

サードパーティのオリジン 機能を有効化する サードパーティ製品では

  1. オリジン トライアルの登録ページに移動します。
  2. [Register] ボタンをクリックし、フォームに記入してトークンをリクエストします。
  3. 配信元を [ウェブオリジン] に入力します。
  4. 他のオリジンで JavaScript を使用してトークンを挿入する場合は、[サードパーティ マッチング] チェックボックスをオンにします。
  5. [送信] をクリックします。
  6. 発行されたトークンをサードパーティに埋め込みます。

サードパーティにトークンを埋め込むには、次のコードを JavaScript に追加します。 登録されたウェブサイトのオリジンから提供されるライブラリまたは SDK。

const tokenElement = document.createElement('meta');
tokenElement
.httpEquiv = 'origin-trial';
tokenElement
.content = 'TOKEN_GOES_HERE';
document
.head.appendChild(tokenElement);

TOKEN_GOES_HERE は、独自のトークンに置き換えます。

対応してフィードバックを共有する

フィードバックやテスト中に問題が発生した場合は、crbug.com からお知らせください。 [Blink] > [Identity] > [FedCM] コンポーネントに移動します。

写真撮影: Alex Perz オン スプラッシュを解除