FedCM での自動再認証をサポート(Chrome)
Federated Credential Management API(FedCM)は、 ウェブ API を使用して、プライバシーを保護する ID 連携を実現します。ID 連携を使用すると、 RP(証明書利用者)は、IdP(ID プロバイダ)を使用してユーザーに 新しいユーザー名とパスワードの入力を求める必要はありません。
FedCM により、RP と IdP のコンテキストをブラウザが把握できる 情報のやり取りです。ユーザーに情報と権限について通知します。 レベルが共有され、意図しない不正使用を防止できます。FedCM の提供地域 バージョン 108 以降の Chrome。
Chrome 115 では、FedCM が自動再認証をサポートするようになり、 RP へのより効率的な再認証が可能になります。 メッセージを表示できます。
自動再認証
現在は、ユーザーが IdP を使用して RP で連携アカウントを作成した後に FedCM API を介して呼び出すことができます。 ユーザーがウェブサイトにアクセスする際には、管理画面で同じ手順を踏む必要があります。 つまり、ユーザーは明示的に手動で再確認する必要があります。 再認証してログインフローに進みます。
明示的なユーザー エクスペリエンスは、ユーザーが トラッキングを防止するための連携アカウント(FedCM の主な目標の一つです) ユーザーが一度やり終わった後、 ユーザーが RP と IdP 間の通信を許可する権限を付与する。 別の明示的なユーザーに強制適用しても、プライバシーとセキュリティ上のメリットはない 確認することもできます。 そのため、RP が選択できる、より合理化された UX を導入します。 リピーターの獲得につながります。
FedCM 自動再認証 (略して「auto-reauthn」)では、ユーザーがログインしたときに、 初期認証後に再度アクセスします。「最初の であるユーザーがアカウントを作成するか RP にログインすることを意味します。 FedCM のログイン ダイアログで [Continue as...] ボタンをタップして、ウェブサイト 実行されている場合があります
<ph type="x-smartling-placeholder">自動再認証のオプションを選択
一方、自動再認証を導入して UX を改善し、
デフォルトのユーザー エクスペリエンスは、コードを使用しなくても違ってきます。
あります。自動再認証が利用できる場合、ブラウザは
mediation
オプションから選択したオプションに基づいて測定されます。
navigator.credentials.get()
。
const cred = await navigator.credentials.get({
identity: {
providers: [{
configURL: "https://idp.example/fedcm.json",
clientId: "1234",
}],
},
mediation: 'optional', // this is the default
});
mediation
は、Credential Management API のプロパティです。
API、
動作は同じです。
ありのままの方法で
CANNOT TRANSLATE
PasswordCredential
および
FederatedCredential
一部は Google Cloud によって
PublicKeyCredential
できます。このプロパティには、次の 4 つの値を指定できます。
'required'
: 続行するためにメディエーションを常に必要とする(例: 「続行して」クリックします。このオプションは、 権限を明示的に付与する必要があります。'optional'
(デフォルト): 可能であれば自動再認証を行います。そうでない場合はメディエーションが必要です。水 ログインページでこのオプションを選択することをおすすめします。'silent'
: 可能であれば自動再認証。認証を要求せずに通知なく失敗します。 調整する必要がありますこのオプションは、 ログインしたままにしたい場合は、専用のログインページ 例: 配送ウェブサイトの商品ページ、ニュースの記事ページ 確認できます'conditional'
: WebAuthn に使用され、現時点では FedCM では利用できません。
この呼び出しでは、次の条件下で自動再認証が行われます。
- FedCM を利用できます。たとえば、ユーザーが FedCM を無効にしていないことなど) または設定内の RP に対して適用されます。
- ユーザーは、このウェブサイトへのログインに FedCM API を持つアカウントを 1 つだけ使用した できます。
- ユーザーはそのアカウントを使用して IdP にログインしています。
- 自動再認証が過去 10 分以内に行われていません。
- RP が電話をかけていない
試用期間の終了後は
navigator.credentials.preventSilentAccess()
確認できます。
上記の条件が満たされると、自動的に再認証が試行されます。
FedCM navigator.credentials.get()
が呼び出されるとすぐにユーザーが起動します。
preventSilentAccess()
を使用してメディエーションを適用する
ログアウトした直後にユーザーの自動再認証を行っても、 非常に優れたユーザーエクスペリエンスですそのため FedCM では 自動再認証を設定することで、この動作を防ぐことができます。自動再認証が行われると 10 分に 1 回までです。ただし、ユーザーが次の時間内に再度ログインする場合を除きます。 10 分。RP は navigator.credentials.preventSilentAccess() を呼び出して ユーザーがログアウトしたときに自動再認証を無効にするよう、ブラウザで明示的に要求する ログアウト ボタンをクリックするなどして、明示的に RP にアタッチする必要があります。
function signout() {
navigator.credentials.preventSilentAccess();
location.href = '/signout';
}
ユーザーは設定で自動再認証をオプトアウトできる
ユーザーは設定メニューから自動再認証を無効にできます。
- パソコンの Chrome:
chrome://password-manager/settings
>ログイン 自動的に適用されます。 - Android Chrome で [設定] を開きます >パスワード マネージャー >アプリ をクリックする >自動ログイン。
切り替えを無効にすると、ユーザーは自動再認証動作を無効にできます。 説明します。ユーザーが以下の操作を行った場合、この設定はデバイス間で保存、同期されます。 Google アカウントにログインしてから同期を実行することで、 有効にします。
フィードバックを共有
FedCM をテストしている場合は、フィードバックや発生した問題を共有できます crbug.com のコンポーネント "Blink>Identity>FedCM" で確認できます。
写真撮影: Noah Samuel Franz(出典: Unsplash)