curl - restful - El token de acceso en la solicitud REST de Firebase no funciona
firebase token (1)
Esta pregunta es "auto-respondida", vea el fondo de la pregunta. Esta respuesta está aquí solo aquí para que esta pregunta no se incluya como "sin respuesta".
Tengo algunos problemas para realizar una solicitud autenticada a Firebase.
Tengo un token generado pero cuando lo envío a Firebase siempre recibo una Unauthorized request.
Respuesta cuando envío el access_token
en la solicitud. Lo extraño es que funciona sin el param.
Incluso probé sin reglas de acceso, pero obtengo el mismo resultado.
Cuando envío curl ''https://<PROJECTID>.firebaseio.com/events.json''
Me devuelven los valores esperados, pero si envío curl ''https://<PROJECTID>.firebaseio.com/events.json?access_token=<TOKEN>''
la respuesta es { "error" : "Unauthorized request." }
{ "error" : "Unauthorized request." }
He intentado enviarlo en el encabezado como curl -H "Authorization: Bearer <TOKEN>" https://<PROJECTID>.firebaseio.com/events.json
pero tampoco funciona.
Si aplico algunas reglas en la base de datos, la solicitud inicial sin token me da { "error" : "Permission denied" }
pero aún así obtengo { "error" : "Unauthorized request." }
{ "error" : "Unauthorized request." }
si envío el token.
Cualquier ayuda sería muy apreciada.
ACTUALIZAR
Se las arregló para arreglarlo. No estaba recibiendo el token correctamente. Después de revisar este hilo , noté que no estaba enviando https://www.googleapis.com/auth/userinfo.email
en la matriz de scopes
cuando realizaba la solicitud del token. Después de agregarlo funciona bien.
ACTUALIZACIÓN 2
Como lo mencionó Xin Meng, esto está bastante claro también en la documentación de Solicitudes de REST Autentificación de Firebase .