Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

Benutzerdefinierte Ansprüche für Nutzer konfigurieren

In diesem Dokument wird erläutert, wie benutzerdefinierte Anforderungen für Nutzer mit Identity Platform konfiguriert werden. Benutzerdefinierte Anforderungen werden während der Authentifizierung in Nutzer-Tokens eingefügt. Ihre App kann diese Anforderungen verwenden, um komplexe Autorisierungsszenarien zu verarbeiten, z. B. um den Zugriff eines Nutzers auf eine Ressource entsprechend seiner Rolle einzuschränken.

Hinweis

Benutzerdefinierte Anforderungen verwenden

Legen Sie aus Sicherheitsgründen mithilfe des Admin SDK auf Ihrem Server benutzerdefinierte Anforderungen fest. Das folgende Beispiel zeigt, wie benutzerdefinierte Ansprüche mit Node.js verwendet werden: Die Referenz zum Admin SDK enthält Beispiele für andere Sprachen.

  1. Wählen Sie die benutzerdefinierte Anforderung aus, die Sie verwenden möchten. Im folgenden Beispiel wird eine benutzerdefinierte Anforderung auf den Nutzer festgelegt, um zu beschreiben, dass er ein Administrator ist:

    // Set admin privilege on the user corresponding to uid.
    admin.auth().setCustomUserClaims(uid, {admin: true}).then(() => {
      // The new custom claims will propagate to the user's ID token the
      // next time a new one is issued.
    });
    
  2. Validieren Sie den benutzerdefinierten Anforderung bei der nächsten Übermittlung an Ihren Server:

    // Verify the ID token first.
    admin.auth().verifyIdToken(idToken).then((claims) => {
      if (claims.admin === true) {
        // Allow access to requested admin resource.
      }
    });
    
  3. So bestimmen Sie, welche benutzerdefinierten Anforderungen für einen Nutzer vorhanden sind:

    // Lookup the user associated with the specified uid.
    admin.auth().getUser(uid).then((userRecord) => {
      // The claims can be accessed on the user record.
      console.log(userRecord.customClaims.admin);
    });
    

Benutzerdefinierte Anforderungen sind extrem leistungsfähig, aber Sie sollten Folgendes beachten:

  • Benutzerdefinierte Anforderungen dürfen nicht größer als 1000 Byte sein. Der Versuch, Anforderungen mit mehr als 1.000 Byte zu übergeben, führt zu einem Fehler.
  • Benutzerdefinierte Anforderungen werden in das JWT des Nutzers eingefügt, wenn das Token ausgegeben wird. Neue Anforderungen sind erst verfügbar, wenn das Token aktualisiert wurde. Sie können ein Token stumm aktualisieren, indem Sie user.getIdToken(true) aufrufen.
  • Legen Sie zur Gewährleistung der Kontinuität und Sicherheit benutzerdefinierte Anforderungen nur in einer sicheren Serverumgebung fest.

Nächste Schritte