Firebase Authentication M2M Parte 1

Esse artigo trata de como fazer a autenticação usando o Firebase Authentication porém entre duas máquinas, entre um Client e API, por exemplo.

Recentemente, surgiu a necessidade de desenvolver uma aplicação na qual um cliente precisaria acessar determinados endpoints de uma API. A abordagem mais comum e prática para esse tipo de cenário seria utilizar um client ID e um client secret, enviados via header, validados no backend e utilizados para gerar um token JWT responsável pela autorização das requisições.

O desafio, porém, foi implementar esse fluxo utilizando usuários do Firebase Authentication. Embora o Google Cloud Platform ofereça mecanismos de autenticação para seus próprios recursos, esses não se aplicam diretamente a aplicações customizadas. Diante dessa limitação, optei por construir uma solução própria, utilizando o Firebase Authentication em conjunto com o Firebase Realtime Database para viabilizar a autenticação entre cliente e API.

Continue reading →