Saltar para o conteúdo principal

Autenticação

A API DokStamp utiliza JWT Bearer tokens emitidos pelo Laravel Passport. Cada pedido a um endpoint protegido deve incluir um token válido no header Authorization.

Obter um token

Envie as suas credenciais para POST /auth/login:
curl -X POST https://api.dokstamp.eu/auth/login \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "admin@suaescola.edu",
    "password": "sua_senha"
  }'
Resposta:
{
  "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9...",
  "refresh_token": "def50200a9c4b...",
  "token_type": "Bearer",
  "expires_in": 31536000
}
CampoTipoDescrição
access_tokenstringJWT token. Utilize-o no header Authorization.
refresh_tokenstringUse para obter um novo par de tokens quando o atual expirar.
token_typestringSempre "Bearer".
expires_inintegerValidade em segundos (31 536 000 = 1 ano).

Usar o token

Inclua o token em cada pedido subsequente:
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9...
Accept: application/json
X-Tenant: seu-identificador-de-tenant
O header X-Tenant é obrigatório em todos os endpoints de recursos. Consulte Multi-tenancy para mais detalhes.

Renovar um token

Os tokens são válidos por 1 ano. Antes do vencimento — ou se um token for revogado — troque o seu refresh token por um novo par:
curl -X POST https://api.dokstamp.eu/auth/refresh \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{ "refresh_token": "def50200a9c4b..." }'
Devolve a mesma estrutura de resposta que /auth/login.

Logout

Revoga o access token atual (blacklist no servidor):
curl -X POST https://api.dokstamp.eu/auth/logout \
  -H "Authorization: Bearer {seu_token}" \
  -H "Accept: application/json"
{ "message": "Successfully logged out" }

Endpoints públicos

Um pequeno número de endpoints não exige autenticação:
EndpointFinalidade
POST /auth/loginObter tokens
POST /auth/refreshRenovar tokens
GET /files/{file}/downloadTransferir um documento assinado por UUID

Recomendações de segurança

  • Armazene tokens em variáveis de ambiente ou gestores de segredos — nunca os inclua diretamente no código.
  • Substitua tokens se houver suspeita de comprometimento, chamando POST /auth/logout e reautenticando.
  • Cada utilizador da API deve ter as suas próprias credenciais; evite partilhar tokens entre sistemas.