Autenticação e 2FA
Proteja sua instância sh0 com login por senha ou Google OAuth, e adicione uma camada extra de proteção com autenticação de dois fatores.
Métodos de Login
O sh0 suporta dois métodos de autenticação. Ambos produzem um token JWT que é usado para todas as requisições subsequentes à API e acesso ao painel.
Autenticação por Senha
O método de autenticação padrão. Na primeira instalação, o sh0 cria uma conta de administrador com credenciais padrão exibidas nos logs do servidor. Você deve alterar a senha imediatamente após o primeiro login.
curl -X POST https://your-server:9000/api/auth/login \
-H "Content-Type: application/json" \
-d '{
"email": "[email protected]",
"password": "your-password"
}'A resposta contém um token JWT válido por 30 dias:
{
"data": {
"token": "eyJhbGciOiJIUzI1NiIs...",
"user": {
"id": "usr_abc123",
"email": "[email protected]",
"role": "admin"
}
}
}Google OAuth
Para usuários do sh0 Cloud, o Login com Google está disponível como método de login. Isso usa o fluxo OAuth 2.0 do Google com verificação de token ID via JWKS.
- Clique em Entrar com Google na página de login.
- Autentique-se com sua conta Google.
- O sh0 verifica o token ID e cria ou vincula sua conta.
Habilitando Autenticação de Dois Fatores
A autenticação de dois fatores (2FA) adiciona uma camada extra de segurança exigindo uma senha de uso único baseada em tempo (TOTP) além das suas credenciais normais.
- Navegue até Configurações → Segurança no painel.
- Clique em Habilitar 2FA.
- Escaneie o QR code com um aplicativo autenticador (Google Authenticator, Authy, 1Password, etc.).
- Insira o código de 6 dígitos do seu aplicativo autenticador para verificar a configuração.
- Salve seus códigos de backup em um local seguro.
Uma vez habilitado, todo login exigirá o código TOTP de 6 dígitos após inserir seu e-mail e senha.
curl -X POST https://your-server:9000/api/auth/login \
-H "Content-Type: application/json" \
-d '{
"email": "[email protected]",
"password": "your-password",
"totp_code": "123456"
}'sh0 auth reset-2fa --email [email protected]Códigos de Backup
Quando você habilita o 2FA, o sh0 gera 10 códigos de backup de uso único. Cada código pode ser usado uma vez no lugar de um código TOTP se você perder acesso ao seu aplicativo autenticador.
a1b2c3d4e5
f6g7h8i9j0
k1l2m3n4o5
p6q7r8s9t0
u1v2w3x4y5
z6a7b8c9d0
e1f2g3h4i5
j6k7l8m9n0
o1p2q3r4s5
t6u7v8w9x0Você pode regenerar códigos de backup a qualquer momento em Configurações → Segurança → Regenerar Códigos de Backup. Isso invalida todos os códigos gerados anteriormente.
Alterando Sua Senha
Para alterar sua senha:
- Vá para Configurações → Perfil.
- Clique em Alterar Senha.
- Insira sua senha atual e a nova senha.
- Se o 2FA estiver habilitado, será solicitado um código TOTP.
Senhas são hasheadas com Argon2id antes do armazenamento. O sh0 impõe um comprimento mínimo de senha de 8 caracteres.
Gerenciamento de Sessão
O sh0 usa tokens JWT para gerenciamento de sessão. Tokens são válidos por 30 dias por padrão. Você pode visualizar e gerenciar sessões ativas pelo painel.
No painel de Sessões, você pode:
- Ver sessões ativas: Ver todos os dispositivos e navegadores onde você está logado.
- Revogar uma sessão: Invalidar uma sessão específica (ex.: se você ficou logado em um computador compartilhado).
- Revogar todas as sessões: Sair de todos os lugares. Útil se suspeitar que suas credenciais foram comprometidas.
curl -X DELETE https://your-server:9000/api/auth/sessions \
-H "Authorization: Bearer YOUR_TOKEN"