Sign inSign up

toninho09/firebase-auth-microservice

By toninho09

Updated almost 9 years ago

Microservice to check firebase token and get user information

Image
0

1.1K

toninho09/firebase-auth-microservice repository overview

Api de Autenticação

Api utilizada para validar a autenticação dos usuários e obter as informações adicionais do firebase

Requisitos

  • Go >= 1.9.2
Instalando dependencias:
    go get -u firebase.google.com/go
    go get -u github.com/gin-gonic/gin

Build

    go build -o api .

Configurações

As configurações são feitas utilizando variáveis de ambiente

  • PORT : Configura a porta que o serviço estará disponível, default 8080
  • ENV : Define o ambiente em que o sistema está rodando, Valores DEV , PROD

Copie o arquivo de autenticação do firebase para o arquivo api.json

Docker

Para criar a imagem da aplicação utilizar o comando

docker build -t auth .

Para rodar utilizando a imagem do docker

docker run -d --name micro-auth-firebase -p 80:8080 -v /you/api.json:/root/api.json auth

Como alternativa pode-se usar a imagem do docker hub toninho09/firebase-auth-microservice, que pode ser baixada utilizando o comando

docker pull toninho09/firebase-auth-microservice

Serviços

[POST] /verify

Verifica se o token e válido, caso o token não seja valido, o HTTP_STATUS de retorno será 401

request
{
	"token":"eyJhbGciOiJSUzI1NiIsImt......"	
}
response
{
	"iss": "https://securetoken.google.com/xxxxxxx",
	"aud": "xxxxx",
	"exp": 1513713402,
	"iat": 1513709802,
	"sub": "qPD5IBB....",
	"uid": "qPD5IBB...."
}
[POST] /get-user

Obtém as informações do usuário pelo firebase

Request
{
	"token":"eyJhbGciOiJSUzI1NiIsImt......"	
}
Response
{
	"displayName": "Display name",
	"email": "[email protected]",
	"photoUrl": "https://.../photo.jpg",
	"localId": "localId",
	"CustomClaims": null,
	"Disabled": false,
	"EmailVerified": true,
	"ProviderUserInfo": [
		{
			"displayName": "Display name",
			"email": "[email protected]",
			"photoUrl": "https://.../photo.jpg",
			"providerId": "google.com"
		}
	],
	"UserMetadata": {
		"CreationTimestamp": 1513099763000,
		"LastLogInTimestamp": 1513100854000
	}
}

Tag summary

Content type

Image

Digest

Size

7.7 MB

Last updated

almost 9 years ago

docker pull toninho09/firebase-auth-microservice