Docs
PlataformaProvedores de identidade

Keycloak

O formulário da conexão Keycloak, o issuer, as audiences aceitas, o acesso ao diretório e o client que emite os tokens.

Formulário da conexão Keycloak

Connection

  • Connection name: o nome da conexão no Admin, como "Keycloak customer". Aparece nos agentes, no grafo e nas decisões.
  • Enable connection: aceita tokens desse issuer no ambiente selecionado. Desligar tem o mesmo efeito de Disable connection.

Request authentication

  • Issuer URL: a URL exata do realm que aparece no iss dos tokens, como https://sso.acme.com/realms/acme. A partir dela o Xokepoint lê os metadados OpenID e as chaves públicas.
  • Accepted audiences: os valores de aud que o token do sujeito precisa ter. Add audience inclui mais um. Um token emitido para outra aplicação do cliente, com outra audience, é recusado.

User directory

O Admin lê o diretório do realm pela Admin REST API do Keycloak, para listar pessoas e serviços na delegação.

  • Client ID e Client secret: um client do realm com service account, que o Xokepoint usa só para ler. No Keycloak, o client precisa de Client authentication e Service accounts ligados, e dos papéis view-users e view-clients do realm-management. O segredo fica cifrado e não é exibido; Change troca.
  • Check connection confere o acesso ao diretório e mostra o resultado ao lado ("Connection verified").
  • Token issuing client: o client do Keycloak que emite os tokens que os usuários levam ao agente. A lista vem do próprio realm depois da verificação.

Clients com service account aparecem como Services na delegação: um pipeline que roda o agente sozinho é um serviço do Keycloak.

Harness login

A última seção configura como as pessoas entram a partir de um harness de código por este realm (Harness login):

  • Allow harness login liga o modo na conexão.
  • Redirect URI é o endereço a incluir nas redirect URIs válidas do client de login no Keycloak.
  • Login client ID e Login client secret: um client OIDC confidencial com o standard flow (authorization code). Não é o client do diretório.

Para ler os grupos de uma pessoa no login, o client do diretório também precisa do papel query-groups do realm-management. Os grupos valem pela participação direta: uma pessoa em /engineering/developers não é membro de /engineering.

Salvar

Save changes (ou Create connection) salva. Uma conexão nova aparece na lista com o resultado da verificação.