Verificación de token ID Firebase en un servicio RESTful creado con PHP

portada_verificaciontokens

 

Hola a tod@s,

En este primer artículo de mi blog y de la categoría de artículos “consumo de servicios RESTful desde Android” vamos a ver como podemos verificar un token de Firebase enviado desde una app Android en un webservice RESTful programado en lenguaje PHP.

 

¿Para qué sirve esto?

Si tu app de Firebase se comunica con un servidor de backend personalizado, podría ser necesario que se identifique al usuario con sesión activa actualmente en el servidor. Según la documentación oficial de Firebase  la manera segura de hacerlo es enviando el token de ID a tu servidor usando HTTPS después de que el usuario inicie sesión con éxito. Luego, en el servidor, se verifica la integridad del token y se pueden recuperar los datos contenidos por el mismo, por ejemplo para utilizar el ID único de usuario del token  para identificar de manera segura en el backend al usuario con sesión iniciada.

Para verificar un token de ID con el Firebase Server SDK,  Firebase nos proporciona de manera oficial para JAVA y NODE.js  el método verifyIdToken.  Con este método si el token de ID no caducó y está firmado de manera adecuada, será decodificado.

Hasta aquí todo esto lo podemos ver muy bien documentado en el siguiente enlace.

 

¿Cuál es el problema?

El problema que yo me encontré queriendo implementar esta seguridad en una de mis apps, fue que el webservice con el que yo estoy conectando la app en cuestión está programado en lenguaje PHP y como podemos observar no hay ningún método nativo en Firebase por el momento para verificar tokens en este lenguaje.

 

¿Solución?

Sin embargo, buscando en la documentación de Firebase en inglés encontré información sobre cómo verificar tokens ID de Firebase en caso de que el lenguaje de tu webservice no esté soportado

(más…)