2016-05-27 8 views
8

Sto provando a generare token JWT per Firebase utilizzando Ruby sul server. Prima della 3.0 abbiamo usato token generator ma ha smesso di funzionare dopo l'aggiornamento. Il token ottengo con codice qui sotto dà un errore:Errore token Firebase, "Il token personalizzato corrisponde a un pubblico diverso."

The custom token corresponds to a different audience.

e non riesco a trovare da nessuna parte che cosa significa.

private_key = OpenSSL::PKey::RSA.new <<-PEM 
-----BEGIN PRIVATE KEY----- 
..redacted.. 
-----END PRIVATE KEY----- 
PEM 

service_account_email = '[email protected]' 
now_seconds = Time.now.to_i 

payload = { 
    iss: service_account_email, 
    sub: service_account_email, 
    aud: 'https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit', 
    iat: now_seconds, 
    exp: now_seconds + (60 * 60), 
    uid: self.id.to_s, 
    debug: true, 
    claims: { 
    userId: self.id, 
    slug: self.slug, 
    username: self.username, 
    avatar: self.profile.avatar.url, 
    group: self.group, 
    debug: true 
    } 
} 

JWT.encode payload, private_key, 'RS256' 

Grazie

risposta

2

ho ottenuto questo errore, ho ottenuto che perché ho usato un account di servizio che non è stato collegato con il progetto Firebase. dopo aver creato un nuovo account di servizio con una nuova chiave nel progetto Firebase, ha iniziato a funzionare.

per la creazione di account di servizio è possibile seguire le istruzioni qui: https://firebase.google.com/docs/server/setup

+0

Grazie ho avuto lo stesso problema –