NodeMailer - aceleradora-TW/acelera-mais-api GitHub Wiki
Nodemailer - Troca Credenciais de Email
- Trocar as credenciais de envio de e-mail Nodemailer - Módulo para enviar E-mails automatizados em aplicações Node.js. OAuth2 - Autenticação de segurança. Oauth2 permite que o aplicativo armazene e use tokens de autenticação em vez de credenciais de login reais. Os tokens de acesso necessários para a autenticação OAuth2 são de curta duração, portanto, precisam ser regenerados de tempos em tempos.
No Acelera Mais é usadoNodemailer e OAuth2 para enviar e-mail com a senha randômica MD5 para novos mentores. Para trocar as credenciais de envio de e-mail implementamos na aplicação seguindo os vídeos abaixo:
Na aplicação, foi criado service/nodemailer/NodemailerService.ts
a implementação do nodemailer e autenticação do OAuth2
No ambiente de produção do Heroku é necessário trocar os values do:
NODEMAILER_EMAIL
,NODEMAILER_PASSWORD
,NODEMAILER_REDIRECT_URI
,NODEMAILER_CLIENT_ID
,NODEMAILER_CLIENT_SECRET
,NODEMAILER_REFRESH_TOKEN
,
Como obter os values
NODEMAILER_EMAIL
- Acessar o Google Cloud API da Aceleradora
- Ir na aba 'Tela de Permissão OAuth' e pegar o email de usuário de teste
NODEMAILER_PASSWORD
- Pegar a senha do usuário de teste
NODEMAILER_REDIRECT_URI
NODEMAILER_CLIENT_ID & NODEMAILER_CLIENT_SECRET
- Na API da Aceleradora acesse a aba "Credenciais" e acesse o ID na aba "IDs do cliente OAuth 2.0"
- Após clicar, aparecerá no lado direito o ID do Cliente e a Secret do cliente
NODEMAILER_REFRESH_TOKEN
- Acesse o oauthplayground e na aba "Select & authorize APIs" adicione a url da API do Gmail (https://mail.google.com)
- Clique no botão de engrenagem no canto superior direito da página
- Marque a caixa de confirmação "Use your own OAuth credentials" e adicione o ID do Cliente e a Secret do Cliente
- Volte e clique no botão "authorize APIs"
- Após isso você será redirecionado para a página do gmail e deverá logar com o email de usuário de teste
- Depois você será redirecionado de volta para o oauthplayground e será gerado o "Authorization code"
- Clique no botão "Exchange authorization code for tokens" e o "Refresh token" será gerado