Verwenden Sie benutzerdefinierte Token, um REST-Anforderungen als Administrator an die FB-Datenbank zu senden.

Ich migriere auf die neuen Datenbank- und 3.0-Client-Bibliotheken. Ich aktualisiere den Teil, der ein benutzerdefiniertes Authentifizierungstoken generiert (auf unserem Server), um ein @ zu machePATCH, um eine Ressource in der Firebase-Datenbank zu aktualisieren.

Diese PATCH-Anfragen wurden von unserem Server mit @ an Firebase gesendeadmin Ansprüche basierend auf diesem:https: //www.firebase.com/docs/rest/guide/user-auth.ht

Für die neue Datenbank generiere ich das JWT-Token (mitruby-jwt) so was

pa,yload = {
  aud: "https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit",
  claims: custom_claims.merge({ admin: true }),
  exp: now_seconds + (60 * 60), # Maximum expiration time is one hour
  iat: now_seconds,
  iss: service_account_email,
  sub: service_account_email,
  uid: uid
}

JWT.encode(payload, private_key, "RS256")

A PATCH Anfrage mit diesem Token an die Firebase-Datenbank schlägt fehl mit:Missing claim 'kid' in auth header.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage