Docs

Sujeitos

Pessoas e service accounts do IdP do cliente, e a confiança que o Xokepoint tem nesse IdP.

O sujeito é quem responde pela chamada. Ele existe no provedor de identidade do cliente (Keycloak, Okta, Entra, Google Workspace), e o Xokepoint não cria nem guarda credenciais de sujeitos. O que o Xokepoint guarda é a confiança no IdP.

Há dois tipos de sujeito: user, uma pessoa do diretório, e service_account, um serviço do cliente com credencial própria, como um job que concilia faturas toda noite. Para a autorização, os dois são iguais. Um service account recebe delegações e permissões do mesmo jeito que uma pessoa.

O que identifica um sujeito

O par emissor e assunto: o iss e o sub do token, como define o OpenID Connect. Um e-mail não serve, porque muda e pode ser reaproveitado. Um client_id também não, porque identifica a aplicação que pediu o token, não quem age.

Identity connection

A confiança num IdP fica registrada numa identity connection: o issuer, as chaves públicas e as audiences aceitas. O token do sujeito só é aceito se passar por ela.

A connection é conferida de novo em cada chamada, não só na emissão do token. Desabilitar uma connection corta todos os sujeitos daquele IdP na chamada seguinte.

Para escolher sujeitos ao configurar permissões, o Admin lê o diretório pela API nativa de cada provedor. Antes de um sujeito entrar numa delegação, o provedor confirma que ele existe.