Login de Usuário
Autenticação via email e senha
Descrição
Autentica um usuário no sistema com as seguintes funcionalidades:
- Valida credenciais (email e senha)
- Retorna token JWT válido para acesso aos endpoints protegidos
- Token possui TTL de 180 minutos (3 horas)
- Pode ser renovado através do endpoint de refresh
- Retorna dados completos do usuário autenticado
Detalhes do Endpoint
VERBO
POST
URL BASE
http://api.provista.dev.nabrasil.org.br/v1
ENDPOINT
/auth/login
Cabeçalhos
| Parâmetro | Valor |
|---|---|
| Content-Type | application/json |
Campos Esperados
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| string | Sim | E-mail do usuário. Deve ter formato válido. | |
| password | string | Sim | Senha do usuário. |
Corpo da Requisição
{
"email": "usuario@exemplo.com",
"password": "MinhaSenh@123"
}
Observação: O corpo da requisição deve ser enviado como JSON no formato raw.
Respostas
Sucesso - 200
Exemplo com usuário Admin:
{
"success": true,
"message": "Login realizado com sucesso",
"data": {
"user": {
"id": "9fd6b694-602a-461f-a052-c473f59bbcc6",
"first_name": "Administrator",
"last_name": "System",
"email": "admin@nunciatura.com.br",
"img_url": null,
"initials": "AS",
"email_verified_at": "2024-10-15T10:30:00.000000Z",
"role": {
"id": 1,
"name": "Admin",
"slug": "admin"
}
},
"permissions": ["manage_users", "manage_roles", "manage_processes"],
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.fake.token.exemplo",
"token_type": "bearer",
"expires_in": 10800
}
}
Exemplo com usuário Informador:
{
"success": true,
"message": "Login realizado com sucesso",
"data": {
"user": {
"id": "a7f8c9d0-1234-5678-9abc-def012345678",
"first_name": "João",
"last_name": "Silva",
"email": "informador@nunciatura.com.br",
"img_url": null,
"initials": "JS",
"email_verified_at": "2024-10-15T10:30:00.000000Z",
"role": {
"id": 2,
"name": "Informador",
"slug": "informador"
},
"informer": {
"id": "b8e9f0a1-2345-6789-bcde-f01234567890",
"blacklisted": false,
"group": {
"id": "c9f0a1b2-3456-789a-cdef-012345678901",
"name": "Grupo 1 - Bispo em saída/transferido",
"color": "#3B82F6"
},
"category": {
"id": 1,
"name": "Consultor diocesano",
"description": "Consultor diocesano da diocese"
}
}
},
"permissions": ["view_questionnaires", "answer_questionnaires"],
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.fake.token.informador",
"token_type": "bearer",
"expires_in": 10800
}
}
Erro - 401 (Credenciais inválidas)
{
"success": false,
"message": "Email ou senha incorretos"
}
Condição: E-mail ou senha incorretos
Erro - 403 (Email não verificado)
{
"success": false,
"message": "Email não verificado. Por favor, confirme seu email antes de fazer login.",
"email_verified": false
}
Condição: Email não foi verificado (se verificação de email estiver habilitada)
Erro - 403 (Usuário bloqueado)
{
"success": false,
"message": "Acesso negado. Seu usuário foi bloqueado. Entre em contato com o administrador.",
"blacklisted": true
}
Condição: Informador está na lista negra (blacklisted = true). Acesso ao sistema bloqueado.
Erro - 422 (Dados de validação inválidos)
{
"success": false,
"message": "Dados de validação inválidos",
"errors": {
"email": [
"O email é obrigatório."
],
"password": [
"A senha é obrigatória."
]
}
}
Condição: Campos obrigatórios ausentes (email/senha) ou formato de e-mail inválido
Códigos de Resposta
| Código | Descrição |
|---|---|
| 200 | Login realizado com sucesso |
| 401 | Credenciais inválidas ou usuário não encontrado |
| 403 | Email não verificado |
| 422 | Dados de validação inválidos |