EventoObtenha 50% de desconto no seu ingresso para MongoDB.local Londres em outubro 2. Use o código WEB50Saiba mais >>
Desenvolvedor MongoDB
Central de desenvolvedor do MongoDBchevron-right
Produtoschevron-right
Atlaschevron-right

Implementar autenticação por e-mail/senha em React

Sourabh Bagrecha8 min read • Published Aug 24, 2022 • Updated Apr 02, 2024
ReactAtlasJavaScript
Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse Tutorial
star-empty
star-empty
star-empty
star-empty
star-empty
Nota: o GraphQL está obsoleto. Saiba mais.
Bem-vindo de volta à nossa jornada de criação de um aplicativo web completo com o MongoDB Atlas App Services, GraphQL e React!
Na primeira parte da série, configuramos o provedor de autenticação de e-mail/senha em nosso serviço de aplicativos de backend. Neste segundo artigo, integraremos a autenticação em um aplicativo da web criado com o React. Gravaremos apenas uma única linha de código do lado do servidor e deixaremos o aplicativo Service lidar com o resto!
Também criaremos o front-end de nosso aplicativo de gerenciamento de despesas, o Expengo, usando o React. Ao final do tutorial de hoje, teremos o seguinte aplicativo web:
Passo a passo do aplicativo Expengo

Configure seu aplicativo web React

Certifique-se de ter o Node.js e o npm instalados na sua máquina. Você pode verificar se estão configurados corretamente executando os seguintes comandos em seu emulador de terminal:

Crie o aplicativo React

Vamos criar um novo aplicativo React. Inicie seu terminal e execute o seguinte comando, onde "expengo" será o nome do nosso aplicativo:
O processo pode levar até um minuto para ser concluído. Depois de terminar, navegue até seu novo projeto:

Adicione dependências necessárias

A seguir, instalaremos o Realm Web SDK. O SDK permite que aplicativos baseados em navegador acessem dados armazenados no MongoDB Atlas e interajam com Atlas App Services como Functions, autenticação e GraphQL.
Também instalaremos alguns outros pacotes npm para facilitar nossa vida:
  1. React-router-dom para gerenciar a navegação em nosso aplicativo:
  2. Material UI para nos ajudar a construir belos componentes sem escrever muito CSS:

Organize a estrutura do aplicativo

Por fim, vamos criar três novos diretórios com alguns arquivos neles. Para fazer isso, usaremos o shell. Você pode usar uma GUI ou seu editor de código, se preferir.
Abra o diretório expengo no seu editor de código. O diretório do projeto deve ter a seguinte estrutura:

Conecte seu aplicativo React ao App Services e faça o gerenciamento de usuários

Nesta seção, criaremos funções e componentes React em nosso aplicativo para dar aos usuários a capacidade de se conectar, se cadastrar e desconectar.
  • Comece copiando o ID do seu aplicativo do App Services:
A tela Atlas App Services destaca o botão Copiar ID do aplicativo.
Agora abra este arquivo: ./src/realm/constants.js
Cole o código a seguir e substitua o espaço reservado pelo seu ID do aplicativo:

Crie um React Context para o gerenciamento de usuários

Agora vamos adicionar um novo React Context sobre todas as nossas rotas para ter acesso aos detalhes do nosso usuário, como perfil e tokens de acesso. Sempre que precisarmos chamar uma função em nome de um usuário, podemos facilmente fazer isso consumindo esse React Context por meio de componentes filho. O código a seguir também implementa funções que farão todas as interações com nosso servidor do Realm para realizar a autenticação. Confira nos comentários uma descrição específica de cada função.
./src/contexts/user.context.js

Crie uma página PrivateRoute

Esta é uma página wrapper que só permitirá que usuários autenticados acessem as páginas privadas do nosso aplicativo. Veremos isso em ação em nosso arquivo ./src/App.js.
./src/pages/PrivateRoute.page.js

Criar uma página de login

A seguir, vamos adicionar uma página de login.
./src/pages/Login.page.js

Criar uma página de inscrição

Agora nossos usuários podem fazer login no aplicativo, mas como eles se cadastram? É hora de adicionar uma página de inscrição!
./src/pages/Signup.page.js

Criar uma página inicial

Nossa página inicial será uma página básica com um botão de título e desconexão.
./src/pages/Home.page.js:

Resumindo tudo no App.js

Vamos conectar todas as nossas páginas no componente raiz do React: aplicativo.
. /src/App.js

Inicie seu aplicativo React

Tudo o que você precisa fazer agora é executar o seguinte comando no diretório do seu projeto:
Quando a compilação for concluída, você poderá acessar seu aplicativo a partir do seu navegador em http://localhost:3000/. Você deve conseguir se cadastrar e fazer login no seu aplicativo agora.

Conclusão

Uau! Fizemos um tremendo progresso. A autenticação é uma parte muito importante de qualquer aplicativo e, uma vez feita, podemos nos concentrar em recursos que facilitarão a vida de nossos usuários. Na próxima parte desta série de blogs, usaremos o App Services GraphQL para realizar operações CRUD. Estou empolgado porque a configuração básica já acabou.
Se você tiver quaisquer dúvidas, fique à vontade para nos procurar nos fóruns da MongoDB Community. Criei um tópico de fórum dedicado para este blog, onde podemos discutir qualquer coisa relacionada a essa série de blogs.
E antes que você pergunte, aqui está o repositório do GitHub também!

Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse Tutorial
star-empty
star-empty
star-empty
star-empty
star-empty
{Parte de uma série
Fullstak Web App com MongoDB Atlas App Services, GraphQL e React
Mais nesta série
  • Configurar autenticação de e-mail/senha no MongoDB Atlas App Services
Relacionado
Tutorial

Usando o driver Node.js MongoDB com AWS Lambda


Jan 23, 2024 | 5 min read
Tutorial

Como otimizar aplicativos LLM com compactação de prompts usando LLMLingua e LangChain


Jun 18, 2024 | 13 min read
Artigo

Como criar aplicativos sem servidor com SST e MongoDB Atlas


Aug 29, 2024 | 3 min read
Tutorial

Descubra seu Airbnb ideal: implementando um Spring Boot e Atlas Search com o driver Kotlin Sync


Aug 06, 2024 | 8 min read
Sumário