FedCM-Updates: Ursprungstest für automatische erneute Authentifizierung

Wir führen einige Updates für FedCM ein, darunter einen neuen Test für die automatische erneute Authentifizierung von Ursprüngen.

Die Federated Credential Management API (FedCM) ist eine Web-API für die datenschutzfreundliche Identitätsföderation. Bei der Identitätsfederation greift eine vertrauende Partei (RP) auf einen Identitätsanbieter (IdP) zurück, um dem Nutzer ein Konto zur Verfügung zu stellen, ohne dass ein neuer Nutzername und ein neues Passwort erforderlich sind.

FedCM ist eine spezielle API, mit der der Browser den Kontext verstehen kann, in dem die RP und der IdP Informationen austauschen, den Nutzer über die freigegebenen Informationen und Berechtigungsebenen informieren und unbeabsichtigten Missbrauch verhindern kann.

Updates

Es gibt einige Änderungen an der FedCM-Implementierung in Chrome:

Alle bisherigen Updates der API finden Sie unter Federated Credential Management API-Updates.

Die neueste Version von FedCM enthält eine neue Funktion zur automatischen erneuten Authentifizierung, mit der Nutzer nach der ersten Authentifizierung mit FedCM automatisch noch einmal authentifiziert werden können. Die automatische erneute Authentifizierung ist ab Chrome 112 als Ursprungstest verfügbar.

Automatische erneute Authentifizierung

Derzeit müssen Nutzer, die über FedCM ein föderiertes Konto bei einem RP mit einem Identitätsanbieter erstellt haben, beim nächsten Besuch der Website dieselben Schritte in der Benutzeroberfläche ausführen. Das bedeutet, dass sie die Anmeldung ausdrücklich bestätigen und sich noch einmal authentifizieren müssen, um fortzufahren. Da eines der Hauptziele von FedCM darin besteht, verdecktes Tracking zu verhindern, ist diese Nutzererfahrung (UX) sinnvoll, bevor der Nutzer das föderierte Konto erstellt hat. Sie wird jedoch unnötig und umständlich, nachdem der Nutzer sie einmal durchlaufen hat. Nachdem der Nutzer die Berechtigung zur Kommunikation zwischen dem RP und dem IdP erteilt hat, hat es keinen Datenschutz- oder Sicherheitsvorteil, eine weitere ausdrückliche Nutzerbestätigung für etwas zu erzwingen, das er bereits zuvor akzeptiert hat. Deshalb führt Chrome eine optimierte Benutzeroberfläche ein, die RPs für wiederkehrende Nutzer auswählen können.

Bei der automatischen FedCM-Reauthentifizierung (kurz „auto-reauthn“) werden Nutzer automatisch neu authentifiziert, wenn sie nach ihrer ersten Authentifizierung mit FedCM wiederkommen (sofern RPs diese Option aktivieren). „Die erste Authentifizierung“ bedeutet hier, dass der Nutzer ein Konto erstellt oder sich in der Website des RP anmeldet, indem er zum ersten Mal in derselben Browserinstanz auf das FedCM-Anmeldedialogfeld Weiter als… tippt.

Ein Dialogfeld, auf das der Nutzer tippt, um ein Konto zu erstellen oder sich zu authentifizieren.
Ein Dialogfeld, auf das der Nutzer tippt, um ein Konto zu erstellen oder sich zu authentifizieren.

Der RP kann die automatische erneute Authentifizierung anfordern, indem er navigator.credentials.get() mit autoReauthn: true aufruft.

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
  },
});

Bei diesem Aufruf erfolgt die automatische erneute Authentifizierung unter den folgenden Bedingungen:

  • FedCM ist verfügbar. Beispiel: Der Nutzer hat FedCM weder global noch für die RP deaktiviert.
  • Der Nutzer hat sich in diesem Browser nur mit einem FedCM-Konto auf der Website angemeldet.
  • Der Nutzer ist mit diesem Konto beim Identitätsanbieter angemeldet.
  • Die automatische Reaktivierung hat nicht innerhalb der letzten 10 Minuten stattgefunden.

Wenn die oben genannten Bedingungen erfüllt sind, wird der Nutzer automatisch neu authentifiziert, sobald die FedCM-navigator.credentials.get() aufgerufen wird.

Ein Nutzer wird mit FedCM automatisch wieder bei einer RP authentifiziert

Jetzt ausprobieren

Sie können die automatische Reauthentifizierung von FedCM lokal testen, indem Sie in Chrome 112 oder höher ein Chrome-Flag chrome://flags#fedcm-auto-re-authn aktivieren.

Für Testzwecke können Sie die 10-minütige Ruhezeit zurücksetzen, indem Sie Browserdaten entfernen.

  1. Rufen Sie chrome://history auf.
  2. Geben Sie im Suchverlauf den Ursprung der Antwortvorlage ein.
  3. Klicken Sie auf das Dreipunkt-Menü ⋮ und wählen Sie Aus Verlauf entfernen aus.
  4. Starten Sie Chrome neu.

Am Ursprungstest teilnehmen

Sie können die Funktion auch auf Ihrer Website aktivieren, indem Sie an der Testversion für Drittanbieter-Quellen teilnehmen, die von Chrome 112 bis Chrome 114 verfügbar ist.

Mit Ursprungstests können Sie neue Funktionen ausprobieren und der Webstandard-Community Feedback zu ihrer Nutzerfreundlichkeit, Praktikumsbarkeit und Effektivität geben. Weitere Informationen finden Sie im Leitfaden zu Ursprungstests für Webentwickler. Wenn Sie sich für diesen oder einen anderen Ursprungstest registrieren möchten, rufen Sie die Registrierungsseite auf.

So registrieren Sie den Ursprung eines Drittanbieters: testen und die Funktion aktivieren zu Drittanbietern:

  1. Rufen Sie die Registrierungsseite für den Ursprungstest auf.
  2. Klicken Sie auf die Schaltfläche Registrieren und füllen Sie das Formular aus, um ein Token anzufordern.
  3. Geben Sie als Ursprung der Bereitstellung als Webursprung ein.
  4. Klicken Sie das Kästchen Drittanbieter-Abgleich an, um das Token mit JavaScript aus anderen Quellen zu injizieren.
  5. Klicken Sie auf Senden.
  6. Betten Sie das ausgestellte Token in einen Drittanbieter ein.

Fügen Sie Ihrem JavaScript-Code den folgenden Code hinzu, um das Token in einen Drittanbieter einzubetten Bibliothek oder SDK, die vom Ursprung der registrierten Website bereitgestellt wird.

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

Ersetzen Sie TOKEN_GOES_HERE durch Ihr eigenes Token.

Feedback geben und erhalten

Wenn Sie Feedback haben oder während der Tests Probleme auftreten, können Sie diese unter crbug.com unter der Komponente Blink>Identity>FedCM melden.

Foto von Alex Perz auf Unsplash