Updates der Federated Credential Management API

Die Federated Credential Management API ist in Chrome 108 enthalten, wird aber voraussichtlich weiter weiterentwickelt. Es sind keine funktionsgefährdenden Änderungen geplant.

An wen richten sich diese Neuerungen?

Diese Aktualisierungen sind in folgenden Fällen sinnvoll:

  • Sie sind ein IdP, der die Federated Credential Management API verwendet.
  • Sie sind ein IdP oder RP und möchten die API für Ihren Anwendungsfall erweitern. Sie haben z. B. die Diskussionen zum FedID-CG-Repository beobachtet oder daran teilgenommen und möchten wissen, welche Änderungen an der API vorgenommen wurden.
  • Sie sind ein Browseranbieter und möchten den Implementierungsstatus der API auf dem Laufenden halten.

Wenn Sie diese API noch nicht kennen oder noch nicht damit experimentiert haben, lesen Sie die Einführung in die Federated Credential Management API.

Änderungsprotokoll

Wenn Sie über die Änderungen an der FedCM API auf dem Laufenden bleiben möchten, abonnieren Sie unseren Newsletter.

Chrome 123 (Februar 2024)

  • Die Domain Hint API wird jetzt unterstützt. Mit der Domain Hint API können RPs bei einem FedCM API-Aufruf eine domainHint-Eigenschaft angeben, damit nur übereinstimmende Konten für den Nutzer angezeigt werden.

Chrome 122 (Januar 2024)

  • Die Verbindungs-API wird jetzt unterstützt. Mit der Verbindung trennen-API können RPS ihre Nutzer vom Konto des IdP trennen, ohne auf Drittanbieter-Cookies zurückgreifen zu müssen.
  • Die Prüfung /.well-known/web-identity wird jetzt übersprungen, wenn sich der RP und der IdP am selben Standort befinden.
  • Unterressourcen können jetzt einen Anmeldestatus für dieselbe Website festlegen.

Chrome 121 (Dezember 2023)

  • Die lockere Bedingung zum Auslösen der automatischen FedCM-Authentifizierung:
    • Die Funktion zur automatischen erneuten Authentifizierung in FedCM wird nur ausgelöst, wenn der Nutzer zurückkehrt. Das bedeutet, dass sich der Nutzer in jeder Browserinstanz einmal über FedCM im RP anmelden muss, bevor die automatische Authentifizierung ausgelöst werden kann. Diese Bedingung wurde ursprünglich eingeführt, um das Risiko von Trackern zu verringern, die vorgeben, ein Identitätsanbieter (Identity Provider, IdP) zu sein, und den Browser dazu verleiten, einen Nutzer ohne sein Wissen oder seine Zustimmung automatisch neu zu authentifizieren. Dieses Design kann jedoch keinen Datenschutzvorteil garantieren, wenn der Tracker Zugriff auf Drittanbieter-Cookies im RP-Kontext hat. FedCM bietet nur einen Teil der Funktionen, die über Drittanbieter-Cookies möglich sind. Wenn der Tracker also bereits Zugriff auf Drittanbieter-Cookies im RP-Kontext hat, stellt der Zugriff auf FedCM kein zusätzliches Datenschutzrisiko dar.
      Da es eine legitime Verwendung von Drittanbieter-Cookies gibt und das Lockern der Bedingungen die Nutzerfreundlichkeit verbessern würde, ändert sich dieses Verhalten gegenüber Chrome 121. Wir haben beschlossen, die Einschränkung der Bedingung, einen Nutzer als „wiederkehrend“ zu behandeln, zu lockern: Wenn dem IdP Drittanbieter-Cookies im RP-Kontext zur Verfügung stehen, vertraut Chrome der Aussage des IdP in Bezug auf den über die approved_clients-Liste angegebenen Kontostatus des Nutzers und löst gegebenenfalls die automatische erneute Authentifizierung aus. Drittanbieter-Cookies können über Nutzereinstellungen, Unternehmensrichtlinien, Heuristiken (Safari, Firefox, Chrome) und andere Webplattform-APIs (z. B. die Storage Access API) zur Verfügung gestellt werden. Wenn der IdP in Zukunft den Zugriff auf Cookies von Drittanbietern verliert und ein Nutzer zuvor noch nie eine Berechtigung auf der FedCM-Benutzeroberfläche erteilt hat (z. B. durch Klicken auf die Schaltfläche Weiter als), wird er dennoch als neuer Nutzer behandelt.
      Der Entwickler muss nichts weiter tun. Der Ablauf für die automatische Authentifizierung kann durch diese Änderung häufiger ausgelöst werden, wenn der IdP Zugriff auf Drittanbieter-Cookies hat und angibt, dass der Nutzer in der Vergangenheit ein Konto im RP erstellt hat.

Chrome 120 (November 2023)

  • In Chrome 120 werden jetzt die folgenden drei Funktionen unterstützt:
    • Login Status API: Die Login Status API ist ein Mechanismus, mit dem eine Website – insbesondere ein IdP – den Browser des Nutzers über den Anmeldestatus informiert. Mit dieser API kann der Browser unnötige Anfragen an den IdP reduzieren und potenzielle Timing-Angriffe abschwächen. Die Login Status API ist eine Voraussetzung für FedCM.
      Mit dieser Änderung ist das Flag chrome://flags/#fedcm-without-third-party-cookies nicht mehr erforderlich, um FedCM zu aktivieren, wenn Drittanbieter-Cookies blockiert werden.
    • Error API: Die Error API benachrichtigt den Nutzer über eine Browser-UI mit den vom IdP bereitgestellten Fehlerinformationen.
    • Auto-Selected Flag API: Die Auto-Selected Flag API gibt an, ob beim IdP und RP eine explizite Nutzerberechtigung durch Tippen auf die Schaltfläche Weiter als abgerufen wurde, wenn eine automatische Authentifizierung oder eine explizite Vermittlung erfolgt ist. Die Freigabe erfolgt erst, nachdem die Nutzerberechtigung für die IdP- und RP-Kommunikation gewährt wurde.

Chrome 117 (September 2023)

Chrome 116 (August 2023)

  • In Chrome 116 werden jetzt die folgenden drei Funktionen unterstützt:
    • Login Hint API: Geben Sie ein bevorzugtes Nutzerkonto für die Anmeldung an.
    • User Info API: Ruft die Informationen des wiederkehrenden Nutzers ab, damit der Identitätsanbieter (Identity Provider, IdP) eine personalisierte Anmeldeschaltfläche in einem iFrame rendern kann.
    • RP Context API: Verwenden Sie im FedCM-Dialogfeld einen anderen Titel als „Sign in“ (Anmelden).
  • Ein Ursprungstest für die IdP Sign-In Status API ist verfügbar. Weitere Informationen finden Sie unter FedCM-Updates: IdP Sign-In Status API, Log-in-Hinweis und mehr.

Chrome 115 (Juni 2023)

  • Die automatische erneute Authentifizierung wird jetzt unterstützt, sodass sich Nutzer automatisch neu authentifizieren können, wenn sie nach der ersten Authentifizierung mit FedCM zurückkommen. Dies verbessert die Nutzerfreundlichkeit und ermöglicht nach der ersten Einwilligung eine optimierte erneute Authentifizierung im RP. Weitere Informationen zur automatischen erneuten Authentifizierung durch FedCM

Chrome 110 (Februar 2023)

  • Beim Endpunkt der ID-Assertion müssen IdPs den Origin-Header (anstelle des Referer-Headers) prüfen, um festzustellen, ob der Wert mit dem Ursprung der Client-ID übereinstimmt.
  • Die ursprungsübergreifende iFrame-Unterstützung für FedCM ist jetzt verfügbar. Der Einbettunger sollte die Permissions-Policy identity-credentials-get angeben, damit die FedCM API im eingebetteten ursprungsübergreifenden iFrame zulässig ist. Hier findest du ein Beispiel für einen ursprungsübergreifenden iFrame.
  • Das neue Chrome-Flag chrome://flags/#fedcm-without-third-party-cookies wurde hinzugefügt. Mit diesem Flag können Sie die FedCM-Funktionalität in Chrome testen, indem Sie Drittanbieter-Cookies blockieren. Weitere Informationen finden Sie in der FedCM-Dokumentation.

Chrome 108 (Oktober 2022)

  • „Top-Level-Manifest“ wird im Dokument jetzt als „Well-known-Datei“ bezeichnet. Es sind keine Implementierungsänderungen erforderlich.
  • „IdP-Manifest“ heißt im Dokument jetzt „config file“. Es sind keine Implementierungsänderungen erforderlich.
  • id_token_endpoint in der Konfigurationsdatei wird in id_assertion_endpoint umbenannt.
  • Die Anfragen an den IdP enthalten jetzt einen Sec-Fetch-Dest: webidentity-Header anstelle eines Sec-FedCM-CSRF: ?1-Headers.

Chrome 105 (August 2022)

  • Dem Dokument wurden wichtige Sicherheitsinformationen hinzugefügt. Der Identitätsanbieter (Identity Provider, IdP) muss prüfen, ob der Header Referer mit dem Ursprung übereinstimmt, den die RP im Voraus auf dem ID-Tokenendpunkt registriert hat.
  • Das Manifest der obersten Ebene wird von /.well-known/fedcm.json in /.well-known/web-identity umbenannt und die in provider_urls angegebene URL sollte den Dateinamen enthalten.
  • Die Methoden login(), logout() und revoke() für FederatedCredential-Instanzen sind nicht mehr verfügbar.
  • Die Federated Credential Management API verwendet jetzt den neuen Typ IdentityCredential anstelle von FederatedCredential. Sie kann zur Merkmalserkennung verwendet werden, ist ansonsten jedoch weitgehend unsichtbar.
  • Verschieben Sie die Anmeldefunktion von einer Kombination aus navigator.credentials.get() und FederatedCredential.prototype.login() nach navigator.credentials.get().
  • Der Widerrufsendpunkt im Manifest ist nicht mehr gültig.
  • Verwenden Sie für navigator.credentials.get()-Aufrufe ein identity-Feld anstelle eines federated-Felds.
  • url lautet jetzt configURL und muss die vollständige URL für die JSON-Manifestdatei anstelle des Pfads für einen navigator.credentials.get()-Aufruf sein.
  • nonce ist jetzt ein optionaler Parameter für navigator.credentials.get().
  • hint ist nicht mehr als Option für navigator.credentials.get() verfügbar.
const credential = await navigator.credentials.get({
  identity: {
    providers: [{
      configURL: 'https://idp.example/anything.json',
      clientId: '********',
      nonce: '******'
    }]
  }
});
const { token } = credential;

Chrome 104 (Juni 2022)

  • Der an den Endpunkt des ID-Tokens gesendete consent_acquired-Parameter lautet jetzt disclosure_text_shown. Der Wert bleibt unverändert.
  • Branding-Symbole im IdP-Manifest unterstützen keine SVG-Bilder mehr, müssen aber nicht mehr durch die Content Security Policy des RP zugelassen werden.

Chrome 103 (Mai 2022)

  • Unterstützt Desktopumgebungen.
  • Unterstützt Einstellungen pro RP auf dem Computer.
  • Der Clientmetadatenendpunkt ist jetzt optional. Bei diesem Endpunkt ist auch die URL der Datenschutzerklärung optional.
  • Ein Hinweis zur Verwendung der CSP „connect-src“ im Dokument wurde hinzugefügt.

Ressourcen