Introdução
Autenticação e registro de usuários facilitados.
🎯 O que este módulo faz?
O módulo AuthProvider lida com tudo relacionado à autenticação de usuários - login, registro, gerenciamento de senhas e manutenção da sessão de forma segura.
Pense nele como o segurança do seu aplicativo - ele verifica quem é quem, permite a entrada de usuários autorizados e mantém os maus elementos do lado de fora.
📖 Explicação Simples
Quando os usuários querem:
- 👤 Registro de Usuário - Criar novas contas de usuário
- 🔐 Autenticação - Login e gerenciamento de sessão
- 🔑 Alterar senha
- 🚪 Sair com segurança
- ✉️ Verificar e-mail com códigos de ativação
- 🔒 Segurança - Hashing de senhas, gerenciamento de tokens
...este módulo faz todo o trabalho pesado!
O problema de construir a gestão de autenticação de usuários do zero:
❌ Sem hashing de senhas
❌ Sem validação
❌ Sem verificação de duplicatas
❌ Sem verificação de e-mail
❌ Comparação de senhas insegura
❌ Sem gerenciamento de sessão
❌ Sem limitação de taxa
Problemas:
- 🔒 Inseguro - Sem hashing de senhas, vulnerável a ataques
- 📋 Sem validação - Dados ruins podem ser armazenados
- 🔄 Sem autenticação - Sem sessões ou tokens
- 💾 Sem persistência - Dados perdidos ao reiniciar
A solução AuthProvider:
✅ Bom - Gerenciamento de autenticação seguro
OneEntry automaticamente:
- Faz o hashing de senhas de forma segura
- Valida o formato do e-mail
- Verifica duplicatas
- Armazena dados de usuários de forma persistente
- Fornece tokens de autenticação
Como funciona:
User signs up → AuthProvider creates account → Sends activation code via email ✅
User logs in → AuthProvider verifies credentials → Returns access tokens ✅
✨ Principais Recursos
| Recurso | O que faz | Exemplo de Uso |
|---|---|---|
| 🔐 Registro de Usuário | Criar novas contas de usuário | Formulário de inscrição |
| 🚪 Login/Sair | Autenticar usuários | Página de login |
| 🔑 Gerenciamento de Senhas | Alterar e redefinir senhas | Fluxo de esqueci a senha |
| 🎫 Gerenciamento de Tokens | Manter usuários logados com segurança | Atualização automática de sessões |
| ✉️ Verificação de E-mail | Enviar códigos de ativação | Verificar e-mail após inscrição |
| 🌍 Multi-idioma | Suporte a diferentes idiomas | Aplicativos internacionais |
O sistema suporta múltiplos provedores de autenticação de usuários: login+senha e OAuth.
Exemplo de Fluxo de Autenticação com verificação de e-mail
1. User enters email + password
↓
2. auth() called
↓
3. OneEntry verifies credentials
(Compares hashed passwords)
↓
4. Returns authentication token
(JWT or session token)
↓
5. Token stored client-side
(localStorage, cookie, memory)
↓
6. Token sent with requests
(Authorization header)
↓
7. Token validated by server
(Checks expiration, signature)
📋 O que você precisa saber
Provedores de Autenticação
OneEntry suporta diferentes maneiras de autenticar:
- E-mail (mais comum) - tradicional e-mail/senha
- Telefone (SMS) - autenticação via número de telefone
- Social (OAuth) - Google, Facebook, etc.
Cada provedor tem um marcador (por exemplo, email para o provedor de e-mail).
Tokens Explicados Simplesmente
Quando um usuário faz login, ele recebe dois tokens:
-
Token de Acesso 🎫 - Como um ingresso de cinema (expira rapidamente), configurado no painel de administração
- Usado para requisições de API
- De curta duração por segurança
-
Token de Atualização 🔄 - Como um passe de temporada (dura mais)
- Usado para obter novos tokens de acesso
- Permanece válido por dias/semanas
Por que dois tokens? Segurança! Se alguém roubar o token de acesso, ele expira rapidamente.
Campos do Formulário
Ao registrar ou atualizar usuários, você envia dados do formulário com:
marker- Nome do campo (por exemplo, "email", "password", "firstName")type- Tipo de dado (por exemplo, "string", "number", "image")value- O valor real
📊 Tabela de Referência Rápida - Métodos Comuns
| Método | O que faz |
|---|---|
| auth() | Permite autenticar usuários. |
| changePassword() | Alteração de senha do usuário. |
| checkCode() | Verificação do código de ativação do usuário. |
| generateCode() | Obtenção do código para ativar o usuário. |
| getActiveSessionsByMarker() | Obtenção de dados de sessões ativas de usuários. |
| getAuthProviderByMarker() | Obter um objeto de provedor de autenticação por marcador. |
| getAuthProviders() | Obter todos os objetos de provedores de autenticação. |
| logout() | Logout da conta do usuário. |
| logoutAll() | Logout da conta do usuário em todos os dispositivos. |
| oauth() | Registro de usuário (autorização) via OAUTH. |
| refresh() | Atualizar tokens de usuário. |
| signUp() | Registro de usuário. |
❓ Perguntas Comuns (FAQ)
Preciso gerenciar tokens manualmente?
Não! O SDK gerencia os tokens automaticamente. Basta chamar os métodos e o SDK cuida de:
- Armazenar tokens
- Atualizar tokens expirados
- Enviar tokens com requisições de API
Como mantenho os usuários logados após a atualização da página?
Configure o SDK com saveFunction:
const { AuthProvider } = defineOneEntry("your-url", {
token: "your-token",
auth: {
refreshToken: localStorage.getItem('refreshToken'),
saveFunction: (token) => localStorage.setItem('refreshToken', token)
}
});
Qual é a diferença entre login e e-mail?
login- pode ser e-mail OU nome de usuário (o que seu provedor de autenticação aceitar)email- sempre um endereço de e-mail
Posso usar login social (Google, Facebook)?
Sim! Configure provedores OAuth no OneEntry admin, depois use o método oauthSignUp().
Como lido com erros?
Envolva as chamadas em try/catch:
try {
// Success!
} catch (error) {
// Error!
}
O que acontece quando o token de acesso expira?
O SDK usa automaticamente o token de atualização para obter um novo token de acesso. Seus usuários permanecem logados sem interrupções!
É seguro?
Sim! O OneEntry utiliza:
- 🔒 Criptografia HTTPS
- 🎫 Tokens JWT (padrão da indústria)
- 🔄 Tokens de acesso de curta duração
- 🔐 Hashing seguro de senhas
- ✉️ Verificação de e-mail
Mais informações sobre a interface do usuário do módulo https://doc.oneentry.cloud/docs/users/auth_provider
Definição do módulo AuthProvider
const { AuthProvider } = defineOneEntry( "sua-url-do-projeto", { "token": "seu-token-de-aplicativo" });
🔗 Documentação Relacionada
- Módulo de Usuários - Gerenciar perfis e dados de usuários
- Módulo de Formulários - Criar formulários de registro/login
- Módulo FormData - Lidar com envios de formulários