Autenticação 1
O processo de autenticação de nossa aplicação deve seguir o seguinte fluxo:
- Usuário envia uma requisição
POST /auth
. - Credenciais de acesso são validadas.
- Se credenciais forem inválidas: Usuário recebe uma
resposta
401
. - Se credenciais forem válidas: Usuário recebe o token de autenticação.
- Se credenciais forem inválidas: Usuário recebe uma
resposta
O token deve seguir a seguinte especificação:
Iremos usar um JSON que contenha os dados base do usuário
e uma hash para verificação de integridade do
conteúdo no campo data
. Exemplo:
{
"data": {
"id": 123,
"email": "user@example.com",
"expires_in": 1725141863
},
"hash": "5891b5b522d5df086d0ff0b110fbd9d21bb4fc7163af34d08286
a2e846f6be03"
}
Toda vez que uma requisição for feita, a aplicação deve verificar a integridade do token seguindo os passos:
- Obtém o conteúdo do campo
data
e converte para string; - Calcula a hash SHA-256 da string obtida no passo anterior;
- Compara com a hash no campo
hash
.
Se as hashes baterem, então o token é
válido e a requisição continuará normalmente. Se não, uma
resposta 401
deve ser retornada para o
usuário.