VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API atual/Referência completa/Sessão do cliente

Sessões do cliente

Lista os aparelhos com sessão aberta e encerra uma sessão ou todas elas.

Cada login bem-sucedido cria uma sessão, ligada ao refresh_token entregue naquele login. A lista de sessões mostra onde o cliente está logado (aparelho, IP, quando entrou, quando expira). Encerrar uma sessão apaga o refresh_token dela: aquele aparelho não consegue mais renovar o acesso.

Pontos principais
  • Só aparecem sessões que ainda não expiraram, da mais nova para a mais antiga.
  • Encerrar não derruba na hora o access_token já emitido: ele segue válido até expirar (é de curta duração). Para invalidar tudo de uma vez, incluindo access tokens, use POST /api/v1/auth/logout-all (veja Autenticação).
  • O id da sessão é um UUID. Ele não é o refresh_token nem o JWT.
  • O cliente só enxerga e encerra as próprias sessões.
GET/api/v1/storefront/sessionsCliente

Listar sessões abertas

Exemplo de requisição

bash
curl "$BASE_URL/api/v1/storefront/sessions" \
  -H "Authorization: Bearer $TOKEN"

Resposta

200Sessões
json
{
  "sessions": [
    {
      "id": "6d1d7b0e-5c8f-4b9a-8b0c-2f1a9a7e4c33",
      "user_id": "f12f30a9-cbec-40ba-98f1-b7fa8f2e8e10",
      "user_agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 18_0 like Mac OS X)",
      "ip_address": "203.0.113.10",
      "expires_at": "2026-10-18T20:41:07Z",
      "created_at": "2026-10-11T20:41:07Z"
    }
  ],
  "total": 1
}

Campos da resposta

sessionsarray
Sessões ativas. Pode vir null quando não há nenhuma; trate null como lista vazia.
sessions[].iduuid
Id da sessão, usado para encerrá-la.
sessions[].user_iduuid
Dono da sessão.
sessions[].user_agentstring
Navegador ou app que fez o login, quando registrado. Pode faltar.
sessions[].ip_addressstring
IP do login, quando registrado. Pode faltar.
sessions[].expires_atstring
Quando a sessão deixa de poder renovar o acesso (RFC 3339, UTC).
sessions[].created_atstring
Quando a sessão foi aberta (RFC 3339, UTC).
totalinteger
Quantidade de sessões na lista.
DELETE/api/v1/storefront/sessions/{id}Cliente

Encerrar uma sessão

Parâmetros de caminho

iduuidobrigatório
sessions[].id da lista.
bash
curl -X DELETE "$BASE_URL/api/v1/storefront/sessions/$SESSION_ID" \
  -H "Authorization: Bearer $TOKEN"
200Sessão encerrada
json
{
  "message": "session revoked"
}
DELETE/api/v1/storefront/sessionsCliente

Encerrar todas as sessões

Apaga todas as sessões do cliente, inclusive a que fez esta chamada. O access_token em uso continua valendo até expirar; no próximo renovo, o cliente precisa logar de novo.

bash
curl -X DELETE "$BASE_URL/api/v1/storefront/sessions" \
  -H "Authorization: Bearer $TOKEN"
200Todas encerradas
json
{
  "message": "all sessions revoked"
}

Erros

StatusQuandoExemplo de corpo
400Sessão inexistente ou de outro usuário. A mensagem vem do servidor em inglês e inclui os ids.{"error":"session 6d1d7b0e-... not found for user f12f30a9-..."}
401Sem token, ou token inválido.{"error":"missing authorization header"}
429Limite de requisições da família /storefront/.{"error":"rate limit exceeded","detail":"too many requests, please try again later"}
500Falha ao listar ou encerrar todas.{"error":"failed to list sessions","detail":"..."}
Tela de segurança

Um bom uso: mostrar "Aparelhos conectados" com user_agent e created_at, e um botão "Sair de todos" que chama DELETE /sessions e depois leva o cliente à tela de login.

Veja também

  • Verificação em duas etapas
  • Tokens e escopos
  • Autenticação
Anterior
Verificação em duas etapas do cliente
Próxima
Perfil do visitante
Nesta página
  • Exemplo de requisição
  • Resposta
  • Erros
  • Veja também