API de Autenticação
Objetivo
Os endpoints de autenticação controlam login, renovação de sessão, consulta do usuário autenticado, logout e recuperação de senha.
Eles são usados pelo frontend para iniciar sessão, manter o usuário autenticado e recuperar o acesso quando a senha é esquecida.
POST /autenticacao/login
Descrição: autentica um usuário com email e senha.
Este endpoint verifica as credenciais informadas, valida se a conta pode acessar o sistema e retorna os tokens necessários para manter a sessão do usuário. Ele é usado na tela de login e inicia o fluxo descrito na visão geral de autenticação.
Autenticação: pública.
Body
| Campo | Tipo | Obrigatório | Regra |
|---|---|---|---|
email |
string | Sim | E-mail válido, normalizado para minúsculas |
senha |
string | Sim | Mínimo 1 caractere |
Resposta de sucesso — 200
{
"mensagem": "Login realizado com sucesso.",
"dados": {
"accessToken": "token.jwt",
"refreshToken": "refresh.jwt"
}
}
POST /autenticacao/atualizar-token
Descrição: renova a sessão do usuário.
Este endpoint recebe um refreshToken válido, revoga o token antigo e retorna um novo par de tokens. Ele serve para manter o usuário logado sem exigir novo login a cada expiração do accessToken.
Autenticação: pública.
Body
| Campo | Tipo | Obrigatório | Regra |
|---|---|---|---|
refreshToken |
string | Sim | Token não vazio |
Resposta de sucesso — 200
{
"mensagem": "Sessão renovada com sucesso.",
"dados": {
"accessToken": "novo-token.jwt",
"refreshToken": "novo-refresh.jwt"
}
}
GET /autenticacao/usuario-atual
Descrição: retorna os dados do usuário autenticado.
Este endpoint permite que o frontend descubra quem é o usuário da sessão atual. Ele é útil ao abrir a aplicação, restaurar sessão e montar a área autenticada.
Autenticação: obrigatória.
Headers
Authorization: Bearer <accessToken>
Resposta de sucesso — 200
{
"mensagem": "Usuário autenticado encontrado.",
"dados": {
"usuario": {
"id": "usuario-id",
"nome": "Nome do Usuário",
"nickname": "nickname",
"email": "usuario@email.com",
"papel": "ALUNO",
"status": "ATIVO"
}
}
}
POST /autenticacao/sair
Descrição: encerra a sessão atual.
Este endpoint revoga o refreshToken informado. Ele serve para impedir que a sessão encerrada gere novos accessTokens no futuro.
Autenticação: obrigatória.
Headers
Authorization: Bearer <accessToken>
Body
| Campo | Tipo | Obrigatório | Regra |
|---|---|---|---|
refreshToken |
string | Sim | Token não vazio |
Resposta de sucesso — 204
Sem corpo de resposta.
POST /autenticacao/recuperar-senha
Descrição: solicita recuperação de senha.
Este endpoint recebe o email do usuário e dispara o fluxo de recuperação de senha. Ele é usado quando o usuário esquece a senha e precisa receber instruções para redefini-la.
Autenticação: pública.
Body
| Campo | Tipo | Obrigatório | Regra |
|---|---|---|---|
email |
string | Sim | E-mail válido, normalizado para minúsculas |
Resposta de sucesso — 200
{
"mensagem": "Instruções de recuperação de senha enviadas.",
"dados": null
}
POST /autenticacao/redefinir-senha
Descrição: redefine a senha do usuário.
Este endpoint recebe o token de recuperação e a nova senha. Ele conclui o fluxo de recuperação, invalidando o token usado e salvando a nova senha.
Autenticação: pública.
Body
| Campo | Tipo | Obrigatório | Regra |
|---|---|---|---|
token |
string | Sim | Token não vazio |
senha |
string | Sim | Mínimo 8 caracteres |
Resposta de sucesso — 200
{
"mensagem": "Senha redefinida com sucesso.",
"dados": null
}
Histórico de Versão
| Data | Versão | Descrição | Autor(es) |
|---|---|---|---|
| 04/05/2026 | 1.0 | Criação da documentação dos endpoints da API | Arthur Carneiro |