Pular para o conteúdo principal

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:

Usuário se registra → AuthProvider cria conta → Envia código de ativação por e-mail ✅
Usuário faz login → AuthProvider verifica credenciais → Retorna tokens de acesso ✅

✨ Principais Recursos

RecursoO que fazExemplo de Uso
🔐 Registro de UsuárioCriar novas contas de usuárioFormulário de registro
🚪 Login/SairAutenticar usuáriosPágina de login
🔑 Gerenciamento de SenhasAlterar e redefinir senhasFluxo de esqueci a senha
🎫 Gerenciamento de TokensManter usuários logados com segurançaAtualização automática de sessões
✉️ Verificação de E-mailEnviar códigos de ativaçãoVerificar e-mail após registro
🌍 Multi-idiomaSuporte a diferentes idiomasAplicativos internacionais

Fluxo de Autenticação

1. Usuário insere e-mail + senha

2. auth() chamado

3. OneEntry verifica credenciais
(Compara senhas hash)

4. Retorna token de autenticação
(JWT ou token de sessão)

5. Token armazenado no lado do cliente
(localStorage, cookie, memória)

6. Token enviado com requisições
(Cabeçalho de Autorização)

7. Token validado pelo servidor
(Verifica expiração, assinatura)

📋 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, ~15 minutos)

    • 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 rouba 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", "senha", "primeiroNome")
  • type - Tipo de dado (por exemplo, "string", "número", "imagem")
  • value - O valor real

📊 Tabela de Referência Rápida - Métodos Comuns

MétodoO que fazQuando usar
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.
oauthSignUp()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 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("sua-url", {
token: "seu-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 admin do OneEntry, depois use o método oauthSignUp().


Como lido com erros?

Envolva as chamadas em try/catch:

try {
// Sucesso!
} catch (error) {
// Erro!
}

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 usa:

  • 🔒 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