Ir para o conteudo principal

Autenticacao

O BeePass utiliza Supabase Auth com cookies SSR (Server-Side Rendering). A autenticacao e gerida automaticamente pelo navegador atraves de cookies HttpOnly.

Registo

Crie uma conta atraves da interface web ou da API Supabase Auth:

  • E-mail: endereco de e-mail valido (verificado por ligacao)
  • Palavra-passe: minimo 8 caracteres, 1 digito, 1 caracter especial
  • Roles disponiveis: eleveur (criador), testeur (testador), groupe_selection, research_center
Roles protegidas

As roles groupe_selection e research_center requerem validacao do administrador apos o registo.

Login

O login via Supabase Auth (signInWithPassword) configura automaticamente os cookies de sessao SSR. Nao e necessario nenhum header Authorization manual para chamadas a API a partir do navegador.

MFA (Autenticacao Multi-Fator)

Ao iniciar sessao a partir de um novo dispositivo, e enviado um codigo de 6 digitos por e-mail (via Brevo). O dispositivo e identificado por impressao digital (Canvas + User-Agent).

  • Dispositivos reconhecidos nao ativam o MFA
  • O codigo expira apos 10 minutos
  • Maximo de 10 tentativas de verificacao por minuto

Sessoes

MetodoRotaDescricao
GET/api/auth/sessionsListar sessoes ativas
DELETE/api/auth/sessionsRevogar uma sessao (body: { session_id })

A revogacao remove o refresh token. O JWT atual permanece valido ate a data de expiracao (~1 hora).

Admin Auth

A autenticacao de administrador e independente da sessao do criador. Ambas coexistem em paralelo.

MetodoRotaDescricao
POST/api/admin/auth/loginLogin admin (configura cookie HMAC)
GET/api/admin/auth/sessionLer sessao admin
POST/api/admin/auth/logoutLogout admin (remove cookie)

O cookie beepass-admin-token e um JWT assinado com HMAC (HS256), HttpOnly, Secure, SameSite=Strict, com um tempo de expiracao de 8 horas.

Sessao dupla

Pode estar autenticado simultaneamente como criador (cookie Supabase) e como administrador (cookie HMAC). Ambas as sessoes sao independentes.

Auditoria

MetodoRotaDescricao
POST/api/auth/auditRegistar um evento de auditoria
GET/api/auth/auditHistorico de eventos de auditoria

Os eventos de auditoria rastreiam tentativas de login, logout, revogacoes de sessao e acoes sensiveis.

Eliminar conta

MetodoRotaDescricao
DELETE/api/auth/delete-accountEliminar conta (verificacao MFA necessaria)

Ver tambem: Visao geral | Rainhas | Avaliacoes