2017-04-26 4 views
0

Récemment, le SDK FB Admin était également introduced pour Python, et voici un repo avec quelques samples.Firebase Admin SDK - Python

C'est bien que je puisse m'authentifier en utilisant des informations d'identification, et enfin j'ai un firebase_admin authentifié qui peut également créer des jetons personnalisés. Mais comment peut-il aider à faire des demandes pour l'API REST, par exemple? Puis-je récupérer mon jeton d'authentification et le définir comme En-tête d'autorisation pour effectuer des demandes d'API?

Répondre

0

Vous devriez pouvoir obtenir un jeton OAuth en appelant la méthode get_access_token() sur vos informations d'identification, puis passez-le à l'API REST comme décrit here. Toutefois, dans la version 1.0.0 du SDK Python Admin, les informations d'identification renvoyées ne contiennent pas les étendues Firebase. Par conséquent, le jeton OAuth obtenu à partir des informations d'identification ne fonctionnera pas facilement avec l'API REST. Ceci est un bug, et il sera abordé dans une prochaine version. En attendant, vous pouvez utiliser l'astuce suivante:

from firebase_admin import credentials 

scopes = [ 
    'https://www.googleapis.com/auth/firebase.database', 
    'https://www.googleapis.com/auth/userinfo.email' 
] 

cred = credentials.Certificate('path/to/serviceKey.json') 
token = cred.get_credential().create_scoped(scopes).get_access_token().access_token 
# Pass token to REST API 

Dans une version ultérieure, une fois que le bug a été corrigé, vous serez à effectuer les opérations suivantes:

from firebase_admin import credentials 

cred = credentials.Certificate('path/to/serviceKey.json') 
token = cred.get_access_token().access_token 
# Pass token to REST API