Introdução
Autenticação e registro de usuários facilitados.
Mais informações sobre a interface do usuário do módulo https://doc.oneentry.cloud/docs/users/auth_provider
🎯 O que este módulo faz?
O módulo AuthProvider lida com tudo relacionado à autenticação de usuários — registro, login, alterações de senha, códigos de ativação por e-mail/SMS, OAuth e manutenção da sessão ativa com tokens de acesso e de atualização. O SDK suporta múltiplos provedores de autenticação (login + senha e OAuth).
🚀 Início Rápido
Inicialize o módulo a partir de defineOneEntry:
const { AuthProvider } = defineOneEntry( "your-project-url", { "token": "your-app-token" });
Autentique um usuário contra o provedor email e leia os tokens retornados:
// Authenticate against the "email" auth provider.
const result = await AuthProvider.auth("email", {
authData: [
{ marker: "login", value: "example@oneentry.cloud" },
{ marker: "password", value: "12345" },
],
});
// On success the SDK stores the tokens automatically.
console.log(result.accessToken, result.refreshToken);
O primeiro argumento é sempre o marcador do provedor (por exemplo, "email"). Após um auth() bem-sucedido, o SDK mantém os tokens e os atualiza para você.
✨ Conceitos Chave
| Recurso | O que Faz | Exemplo de Uso |
|---|---|---|
| Registro de Usuário | Criar novas contas de usuário | Formulário de registro |
| Login / Logout | Autenticar usuários | Página de login |
| Gerenciamento de Senha | Alterar e recuperar senhas | Fluxo de recuperação de senha |
| Gerenciamento de Tokens | Manter usuários logados com segurança | Sessões de autoatualização |
| Verificação por E-mail / SMS / Push | Enviar códigos de ativação | Verificar conta após registro |
| OAuth | Login social (Google, etc.) | "Entrar com o Google" |
Fluxo de Autenticação
1. User enters email + password
↓
2. auth() is called with the provider marker
↓
3. OneEntry verifies credentials and returns access + refresh tokens
↓
4. The SDK stores the tokens and sends the access token with requests
↓
5. When the access token expires, the SDK uses the refresh token automatically
📋 O que Você Precisa Saber
Provedores de Autenticação
OneEntry suporta diferentes maneiras de autenticar, cada uma identificada por um marcador:
- E-mail (
email) - login tradicional + senha - OAuth - Google, Facebook, etc.
Os códigos de ativação podem ser entregues por diferentes canais (e-mail, SMS ou push) via o objeto notificationData que você passa para signUp() — phoneSMS e phonePush são canais de entrega para esses códigos, não provedores de login independentes.
Tokens
Um auth() bem-sucedido retorna dois tokens:
- Token de Acesso - de curta duração, enviado com solicitações de API. Sua duração é configurada no painel de administração.
- Token de Atualização - de longa duração, usado para obter novos tokens de acesso.
O SDK armazena e atualiza tokens para você. Para persistir uma sessão entre recarregamentos, configure saveFunction (veja a FAQ abaixo).
Campos do Formulário
Ao registrar usuários, você envia entradas de dados do formulário com:
marker- nome do campo (por exemplo,email_reg,password_reg,last_name)type- tipo de dado (por exemplo,string,image)value- o valor real
📊 Tabela de Referência Rápida - Métodos Comuns
| Método | O que Faz |
|---|---|
| activateUser() | Ativação de usuário com um código de serviço. |
| auth() | Autenticar um usuário. |
| changePassword() | Alteração de senha do usuário. |
| checkCode() | Verificar o código de ativação do usuário. |
| generateCode() | Obter um código para ativar o usuário. |
| getActiveSessionsByMarker() | Obter sessões de usuário ativas. |
| getAuthProviderByMarker() | Obter um objeto de provedor de autenticação por marcador. |
| getAuthProviders() | Obter todos os objetos de provedores de autenticação. |
| logout() 🔐 | Sair da conta atual. |
| logoutAll() 🔐 | Sair em todos os dispositivos. |
| oauth() | Registrar / autenticar via OAuth. |
| refresh() | Atualizar tokens de usuário. |
| signUp() | Registro de usuário. |
🔐 marca métodos que requerem uma sessão de usuário autorizada.
❓ Perguntas Comuns (FAQ)
Preciso gerenciar tokens manualmente?
Não. O SDK armazena tokens, atualiza os expirados e envia o token de acesso com cada solicitação automaticamente.
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 administrador do OneEntry, depois use o método oauth().
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, assim os usuários permanecem logados.
🎓 Melhores Práticas
- Sempre passe o marcador do provedor como o primeiro argumento (por exemplo,
"email"). - Persista o token de atualização com
saveFunctionpara que as sessões sobrevivam a recarregamentos. - Envolva chamadas de autenticação em try/catch e inspecione o objeto de erro retornado.
- Use
logout()/logoutAll()para invalidar sessões no servidor, não apenas no lado do cliente.
🔗 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