Funções do Firebase: enviar e-mail usando o Google OAuth2

Akshay Bhange em AndroidPub Segue em 2 de jul · 6 min ler funções do Firebase: envie e-mails usando o Gmail

Eu estava trabalhando com as funções do Firebase recentemente para enviar e-mails usando o Gmail. Eu encontrei uma solução muito simples fornecida em amostras do Firebase para enviar um email . Mas, quando acompanhei a documentação, descobri que é possível enviar e-mails com sua conta do Gmail: ativar o acesso a aplicativos menos seguros e exibir o Captcha de desbloqueio . Eu senti que esse método não é seguro para enviar e-mails para meu grande conjunto de clientes.

Depois de muita pesquisa, encontrei outra maneira de enviar mensagens que usavam o OAuth2 no código node.js usando o nodemailer . Depois de usar métodos de 2 a 3 artigos diferentes, finalmente consegui enviar um e-mail por meio das funções do Firebase com o Node.js usando o nodemailer , o OAuth2 e o SMTP.

Vamos seguir os passos para configurar o OAuth2:

1. Crie um novo projeto no Console do desenvolvedor do Google

Precisamos criar um novo projeto no Google Developer Console para configurar o OAuth2. Clique no botão " Selecionar um projeto " no canto superior esquerdo da barra de navegação, conforme destacado na captura de tela abaixo.

Clique em Selecionar um projeto no Google Developer Console

Ao clicar nesse botão, um novo popup aparecerá como exibido na imagem abaixo. Clique no botão “ NEW PROJECT ” no canto superior direito para criar um novo projeto.

Clique em "NEW PROJECT" para criar um novo projeto

Mais tarde, você será levado a uma nova tela para inserir os detalhes do projeto. Digite o nome do seu projeto e clique em " CRIAR ". Ele levará você para a página do painel do projeto recém-criado (levará de 20 a 30 segundos). Se não, vá para selecionar um projeto e selecione o projeto recém-criado.

Crie um novo projeto

2. Credenciais da API de configuração para o OAuth2

Agora você deve estar na tela do painel do projeto, como mostra a imagem abaixo. Nosso projeto precisa de credenciais para acessar as APIs. Nesta seção, criaremos novas credenciais para o nosso projeto. Para isso, clique em “ API's & Services ” na barra de navegação direita e selecione “ Credentials ”.

Selecione API's & Services e, em seguida, Credentials

Agora você estará na tela mostrada abaixo, clique em " Criar credenciais " e selecione " OAuth client ID " no menu suspenso. Por favor, consulte captura de tela abaixo.

Crie credenciais para o projeto

Você será solicitado a configurar a tela de consentimento agora para criar o ID do cliente OAuth. Por favor, clique em “ Configurar tela de consentimento ”.

Criar tela de ID do cliente OAuth

Digite o nome do aplicativo , role para baixo até a parte inferior da página e clique em " Salvar " na tela de consentimento. Ele acessará a tela de credenciais automaticamente ou apenas clique na guia Credenciais. Por favor, consulte a imagem mostrada abaixo.

Tela de consentimento do OAuth

Você criará a tela de ID do cliente OAuth, conforme mostrado abaixo. Selecione o tipo de " Aplicativo Web " em Tipo de aplicativo, Digite o nome do aplicativo e, na seção URI de redirecionamento autorizado, digite " https://developers.google.com/oauthplayground " e pressione " CRIAR ".

Criando o ID do cliente OAuth

Você deve ter uma pequena janela pop-up no meio da tela dizendo OAuth Client. Salve o "ID do cliente" e "Segredo do cliente" na tela especificada . Você precisará dessas informações em nossa próxima etapa e em nosso código node.js.

Se você acidentalmente clicou fora do pop-up vai desaparecer, não se preocupe amigo, você pode recuperar esta informação da tela de credenciais, clicando no ícone de download exibido à direita do aplicativo que acabamos de criar. Procure por "Client ID" e "Client Secret" no arquivo json baixado.

Pressa! concluímos com sucesso a etapa 2: criação da credencial do OAuth.

3. Configure o OAuth2 para nosso aplicativo

Chegamos à etapa final da nossa parte de configuração. Nós só precisamos de mais algumas coisas para configurar antes de usá-lo no aplicativo node.js.

  • Acesse este link https://developers.google.com/oauthplayground e clique no ícone de configurações no canto superior direito, como mostra a imagem abaixo.
  • Marque a caixa " Use suas próprias credenciais do OAuth " e insira o "ID do cliente" e "Segredo do cliente" que recebemos na última etapa.
  • Agora, no menu do lado esquerdo, digite https://mail.google.com/ na caixa de texto "insira seus próprios escopos" ou pesquise " Gmail API v1 " na lista e selecione https://mail.google.com/.
  • Pressione o botão " Autorizar APIs ".

Tela OAuth 2.0 Playground: passo 1

Ele o levará para a tela de login (se você tiver várias contas do Gmail no seu dispositivo) ou o levará diretamente para a tela de aviso ? dizendo " Este aplicativo não está verificado ", que será assim.

Tela de aviso para o aplicativo

Não se preocupe, o Google ainda não confirmou nosso aplicativo e considera nosso aplicativo inseguro de usar (porque acabamos de criá-lo). Você pode ignorar completamente o aviso e clicar em " Avançar " e clicar em " Ir para <yourApp> (inseguro) "

Agora, uma pequena janela pop-up aparecerá na tela solicitando permissão para ler, compor blá blá blá … basta pressionar " Permitir ". Não se preocupe, pois somente você usará esse aplicativo e, com certeza, nunca excluirá seus dados do Gmail ?

Ele pode pedir novamente que você confirme sua escolha (o Google pensa muito sobre sua privacidade) na tela da impressora. e levará você para a tela "OAuth 2.0 Playground", mas agora na etapa 2 dela.

A tela ficará assim: Clique em “ Código de autorização do Exchange para tokens ” e ele exibirá token de atualização e token de acesso do nosso aplicativo. Salvar o token de atualização, vamos precisar dele em nosso código node.js.

Tela OAuth 2.0 Playground: etapa 2

TAADAA !!! Concluímos nossa parte de configuração do OAuth2. ?
Na próxima seção, escreveremos o código node.js para nossa função firebase