Pular para o conteúdo principal

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

RecursoO que FazExemplo de Uso
Registro de UsuárioCriar novas contas de usuárioFormulário de registro
Login / LogoutAutenticar usuáriosPágina de login
Gerenciamento de SenhaAlterar e recuperar senhasFluxo de recuperação de senha
Gerenciamento de TokensManter usuários logados com segurançaSessões de autoatualização
Verificação por E-mail / SMS / PushEnviar códigos de ativaçãoVerificar conta após registro
OAuthLogin 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étodoO 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 saveFunction para 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