Skip to content

Gerar as Credenciais do Firebase

Arthur Simas edited this page Apr 2, 2023 · 2 revisions

O PathsViewer utiliza o Cloud Firestore (parte do Firebase) para a funcionalidade de ingestão de dados em tempo real e o Maps JavaScript API. Para acessar esses serviços, é necessário configurar as credenciais do Firebase da seguinte forma:

  1. Acesse console.firebase.google.com (selecione a conta Google corretamente na barra superior)
  2. PROJETO: Crie um projeto
    • Nome: Escolha um nome para o projeto
    • Google Analytics: É possível ativar o GA para o projeto, caso desejado
      • Configuração do Google Analytics: Se optou por ativar o GA, selecione a região para processamento de dados e aceite os termos de uso do GA
  3. Cloud Firestore: Configure o serviço Cloud Firestore em Build > Firestore Database
    • Crie um banco de dados
    • Use as regras de segurança no modo de testes

    🚨 O modo testes vai deixar o banco de dados exposto para leitura e escrita a qualquer usuário durante 30 dias. Um usuário mal intencionado pode disparar um ataque de alto volume de dados produzindo altos custos

    • Selecione a região de processamento dos dados. É recomendado que seja a mais próxima dos usuários da aplicação
  4. Credenciais Firebase: Gere as credenciais do Firebase para o seu usuário em ⚙️ (ícone de engrenagem ao lado de Project Overview) > Configurações do Projeto
    • Na aba Geral, vá em Seus Aplicativos e crie uma nova aplicação clicando no ícone
    • Escolha um apelido para a aplicação
    • Registre a aplicação
    • Será gerado um bloco de código tal como abaixo
      // Import the functions you need from the SDKs you need
      import { initializeApp } from "firebase/app";
      import { getAnalytics } from "firebase/analytics";
      // TODO: Add SDKs for Firebase products that you want to use
      // https://firebase.google.com/docs/web/setup#available-libraries
      
      // Your web app's Firebase configuration
      // For Firebase JS SDK v7.20.0 and later, measurementId is optional
      const firebaseConfig = {
        apiKey: "AIzaSy4AFgP6qOoqxV1kPlkuu8KmXrpnHphbLJc",
        authDomain: "paths-viewer-test-b72a3.firebaseapp.com",
        projectId: "paths-viewer-test-b72a3",
        storageBucket: "paths-viewer-test-b72a3.appspot.com",
        messagingSenderId: "945083194792",
        appId: "1:945083194792:web:229add19aeb3bc7bfbaf42",
        measurementId: "G-GTFMZ2XU49"
      };
      
      // Initialize Firebase
      const app = initializeApp(firebaseConfig);
      const analytics = getAnalytics(app);
    • Na raiz do projeto, copie o arquivo .env.local.example e nomeie para .env.local. Substitua o valor das variáveis de acordo:
      • GOOGLE_API_KEY e FIREBASE_API_KEY: use o valor de apiKey
      • FIREBASE_DATABASE_URL: use https://{FIREBASE_PROJECT_ID}.firebaseio.com, substituindo FIREBASE_PROJECT_ID pelo valor de projectId
      • FIREBASE_PROJECT_ID: use o valor de projectId
      • FIREBASE_AUTH_DOMAIN: use o valor de authDomain
      • FIREBASE_STORAGE_BUCKET: use o valor de storageBucket
      • FIREBASE_MESSAGING_SENDER_ID: use o valor de messagingSenderId
      • FIREBASE_APP_ID: use o valor de appId
    • Agora, na aba Contas de serviço, vá em Firebase Admin SDK
    • Selecione Gerar uma Nova Chave Privada e faça o download
    • Será feito o download de um arquivo JSON similar ao abaixo
      {
        "type": "service_account",
        "project_id": "paths-viewer-test-b72a3",
        "private_key_id": "0efb5253593652e8ea247b3f4d511c636125bbcd",
        "private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQD5hAMzSc5EQP4r\n (... omitido por brevidade ...) \nc/UYenhuVcHj03YQa+g6asA=\n-----END PRIVATE KEY-----\n",
        "client_email": "firebase-adminsdk-de64i@paths-viewer-test-b72a3.iam.gserviceaccount.com",
        "client_id": "105472490822407004470",
        "auth_uri": "https://accounts.google.com/o/oauth2/auth",
        "token_uri": "https://oauth2.googleapis.com/token",
        "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
        "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/firebase-adminsdk-de64i%40paths-viewer-test-b72a3.iam.gserviceaccount.com"
      }
    • No arquivo .env.local, substitua o valor das variáveis de acordo:
      • FIREBASE_CLIENT_EMAIL: use o valor de client_email
      • FIREBASE_PRIVATE_KEY: use o valor de private_key
  5. Serviço Google Maps: Por fim, para ativar a API do serviço Google Maps para a credencial gerada, acesse console.cloud.google.com (selecione a conta Google e projeto corretamente na barra superior)
    • Busque por "Enabled APIs & Services" e selecione o resultado adequado
    • Selecione a opção "Enable APIs and Services"
    • Busque por "Maps JavaScript API" e selecione o resultado adequado
    • Selecione "Enable"
  6. O arquivo .env.local resultante deverá ficar da seguinte forma, por exemplo:
    GOOGLE_API_KEY = "AIzaSy4AFgP6qOoqxV1kPlkuu8KmXrpnHphbLJc"
    
    FIREBASE_DATABASE_URL = "https://paths-viewer-test-b72a3.firebaseio.com"
    
    FIREBASE_PROJECT_ID = "paths-viewer-test-b72a3"
    FIREBASE_API_KEY = "AIzaSy4AFgP6qOoqxV1kPlkuu8KmXrpnHphbLJc"
    FIREBASE_AUTH_DOMAIN = "paths-viewer-test-b72a3.firebaseapp.com"
    FIREBASE_STORAGE_BUCKET = "paths-viewer-test-b72a3.appspot.com"
    FIREBASE_MESSAGING_SENDER_ID = "945083194792"
    FIREBASE_APP_ID = "1:945083194792:web:229add19aeb3bc7bfbaf42"
    
    FIREBASE_CLIENT_EMAIL = "firebase-adminsdk-de64i@paths-viewer-test-b72a3.iam.gserviceaccount.com"
    FIREBASE_PRIVATE_KEY = "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQD5hAMzSc5EQP4r\n (... omitido por brevidade ...) \nc/UYenhuVcHj03YQa+g6asA=\n-----END PRIVATE KEY-----\n"

⚠️ As credenciais exemplificadas nesse guia são fictícias e, logo, não são válidas no Firebase. Apesar disso, teve-se o rigor de utilizar valores idênticos ao formato gerado em condições reais, ajudando na melhor compreensão do usuário.

Clone this wiki locally