Inspetor de troca de token
O detalhe de uma troca de token emitida ou recusada, o que conferir para cada motivo e como as repetições aparecem.
Uma troca de token é o momento em que o agente pede um token Xokepoint para agir por alguém (Token exchange). A mesma lista registra os tokens dos harness logins e dos refreshes (Conectar um harness de código), com a presença e o grant da máquina. Como o Xokepoint não sincroniza o ciclo de vida dos usuários com o IdP, uma troca recusada costuma ser o primeiro sinal de que algo mudou: alguém saiu da empresa, uma chave vazou, uma conexão foi desligada.

Anatomia
- Cabeçalho: "Token exchange", o identificador e a hora; o resultado (Refused ou Issued), o agente e o motivo em uma frase.
- What to check: o que olhar para esse motivo, e um botão que leva ao lugar certo.
- Repeated in this window: quantas trocas iguais (mesmo agente, sujeito e motivo) houve na janela.
- Exchanges in this problem: as ocorrências, uma por linha, com páginas.
- Os fatos: agente, sujeito, provedor, motivo, a Cause de um
login_error, o harness de um login, o código Reference de uma recusa, o que foi devolvido ao agente e a hora.
Cada motivo
| Motivo | O que quer dizer | O que conferir | Devolvido ao agente |
|---|---|---|---|
subject_token_expired | O token da pessoa tem assinatura válida e venceu | Se o provedor desabilitou o usuário. Se não, o agente precisa renovar o token da pessoa | invalid_grant |
invalid_client | A chave do agente não confere | Se o arquivo é antigo ou vazou. Gire a chave e entregue o arquivo novo | invalid_client |
subject_token_invalid | Assinatura, issuer ou audience do token da pessoa não conferem | O issuer e as audiences da identity connection, e o token que o agente envia | invalid_grant |
subject_connection_disabled | A identity connection do sujeito está desabilitada | Se a conexão deveria estar ativa | invalid_grant |
no_delegation | O sujeito não delegou ao agente | Se o sujeito deveria estar marcado no provedor do agente | invalid_grant |
invalid_authorization_details | A instância pediu limites inválidos, ou uma tool que o agente não pode chamar (RFC 9396) | O authorization_details que a instância envia e as tools do agente | invalid_authorization_details |
no_group | Harness login: a pessoa não está num grupo elegível de nenhum agente deste harness | Se a pessoa deveria estar num grupo escolhido no bloco Harness login | Página de recusa com código de referência |
blocked | Harness login: a pessoa está bloqueada no agente | Se o bloqueio ainda é necessário | Página de recusa com código de referência |
not_allowed_client | Harness login: o harness não está liberado para um agente | Os harnesses liberados do agente | Página de recusa com código de referência |
code_reuse | Um authorization code foi usado duas vezes; a máquina foi revogada | Se o code vazou do computador da pessoa | invalid_grant |
refresh_reuse | Um refresh token foi usado duas vezes; a máquina foi revogada | Se o refresh token foi copiado do computador da pessoa | invalid_grant |
dpop_invalid | A prova DPoP falta, é inválida ou é de outra chave | Se o token foi copiado do harness que tem a chave | invalid_dpop_proof ou invalid_grant |
login_error | Harness login: o login parou antes do consentimento; a página mostrou só o código | O fato Cause: a requisição do harness, o client metadata document ou o endereço de retorno dele, um login expirado, o provedor de identidade ou o Xokepoint | Página genérica com código de referência |
Toda recusa tem um código Reference: a página de login recusado mostra o código, e uma troca recusada devolve o código em error_description. Cole no Quick incident para abrir aquela recusa. A Cause de um login_error só aparece aqui: a página que a pessoa viu não diz qual verificação falhou.
No caso acima, o Bruno teve 12 trocas recusadas em 20 minutos com o token vencido: o padrão de um usuário desabilitado no IdP. Open the identity provider leva à conexão.
invalid_client

O sujeito aparece como "Not verified: the token signature was not valid". O Xokepoint só registra o sujeito quando a assinatura do token dele é válida, para não gravar um nome que ninguém provou. Open the agent identity leva à aba Identity, onde a chave pode ser girada.
Uma troca emitida

"What happened" resume: o agente provou a chave, o token do sujeito era válido e o sujeito delegou ao agente. O agente recebeu um token Xokepoint de 5 minutos.
Nenhum token ou assertion é gravado, em nenhum caso.
Inspetor de decisão
A anatomia do detalhe de uma decisão, o caminho de autorização, a regra que falhou, os fatos e o que cada motivo de negação pede para corrigir.
Events export
Envie cada chamada permitida e negada, cada token exchange e cada harness login para o seu SIEM ou ferramenta de observabilidade, por OTLP ou por webhook assinado.