Okta
O formulário da conexão Okta, o API Services app e a private key, as mensagens do check, tokens dos seus serviços e o harness login.

O Xokepoint lê usuários e grupos do Okta com um API Services app da sua org. Para esse tipo de app, o Okta aceita só uma chave assinada, nunca um client secret: você gera a chave no Okta e cola uma única vez no formulário. Quem entra a partir de um harness de código passa por um segundo app, um OIDC Web app, porque o API Services app não autentica pessoas.
Connection
- Connection name e Enable connection, como nas outras conexões.
- Okta org URL: o endereço da sua org, como
https://acme.okta.com, ou o seu custom domain. Não use o endereço do Admin Console: tire o-admin. Onde achar o domínio do Okta
Okta API Services app
O formulário guia em quatro passos, cada um com o link do guia do Okta:
- Create an API Services app: no Okta Admin Console, Applications, Applications, Create App Integration, API Services. Copie o Client ID. Guia do Okta: criar um service app
- Generate a key: no app, aba General, Client Credentials, Edit, depois Public key / Private key. Em Save keys in Okta, escolha Add key e Generate new key. Copie a private key em formato JSON na hora, porque o Okta mostra a chave uma única vez. Mantenha o DPoP obrigatório: cada token do Okta fica preso a uma chave que só o Xokepoint guarda. Guia do Okta: gerar a chave
- Grant the scopes
okta.users.readeokta.groups.readna aba Okta API Scopes. Só um Super Administrator concede esses scopes, e os dois são só de leitura. Guia do Okta: conceder scopes - Assign an admin role: aba Admin roles, Edit assignments, Read-only Administrator. Sem um papel atribuído, o Okta não libera os scopes. Guia do Okta: atribuir admin roles
| Campo | O que preencher |
|---|---|
| Client ID | O Client ID do API Services app |
| Private key (JSON) | A chave que o Okta mostra depois de Generate new key, com o kid. Um arquivo PEM ou uma chave pública são recusados. Guardada cifrada e nunca exibida de novo. Change troca a chave. Uma org URL ou um client ID novo pede a chave desse app |
Uma pessoa é identificada pelo Okta user ID, o mesmo valor no harness login, nos tokens dos seus serviços e no diretório do Okta. Trocar o login ou o e-mail não muda esse identificador.
Pessoas desativadas não aparecem na lista. O grupo Everyone do Okta também fica de fora, para que nenhum agente seja aberto à org inteira por engano. Os grupos que o Okta importa do Active Directory ou do LDAP aparecem junto com os demais.
Check connection
Check connection lê os metadados e as chaves de assinatura da org, obtém um token do Okta com a private key e o DPoP, lê um usuário, lê os grupos e lê os grupos desse usuário. Cada mensagem aponta o passo que corrige o problema:
| Mensagem | Correção |
|---|---|
| Could not read this Okta org | Confira a org URL, sem -admin |
| Could not read this custom authorization server | Copie o Issuer em Security, API, Authorization Servers |
| Okta rejected the app | Confira o client ID, cole a private key deste app e escolha Public key / Private key (passo 2) |
| A scope is not granted | Conceda okta.users.read e okta.groups.read (passo 3) |
| The app can not read users | Atribua o papel Read-only Administrator (passo 4) |
| The app can not read groups | Conceda okta.groups.read (passo 3). O harness login depende disso |
Request authentication
Só é necessário quando um serviço seu troca o access token do Okta de um usuário por um token de agente. O Okta não permite que terceiros validem os access tokens do org authorization server, então esse caso exige um custom authorization server, que faz parte do Okta API Access Management. Guia do Okta: custom authorization server
- Accept tokens from your services: desligado por padrão. O harness login e o diretório funcionam sem ele.
- Custom authorization server issuer: o Issuer exibido em Security, API, Authorization Servers. Ele precisa ser da mesma org,
<org URL>/oauth2/<ID>, por exemplohttps://acme.okta.com/oauth2/default. - Accepted audiences: a Audience desse servidor,
api://defaultpor padrão. Add audience inclui outra.
A access policy do servidor precisa permitir o serviço seu que pede o token. O token tem que ser de uma pessoa da org: um token sem usuário, como o de client credentials, é recusado.
Harness login
As pessoas entram a partir de um harness de código com a conta do Okta (Harness login). O login usa um OIDC Web Application, não o API Services app:
- No Okta Admin Console, Applications, Create App Integration, OIDC - OpenID Connect, Web Application, com o grant Authorization Code e autenticação por client secret. Guia do Okta: criar um app OIDC
- Cole o Redirect URI do formulário em Sign-in redirect URIs.
- Em Assignments, atribua os grupos das pessoas autorizadas a entrar. O Okta recusa todas as outras antes que o login chegue ao Xokepoint.
- Copie o Client ID e o Client secret para Login client ID e Login client secret.
A cada login, o Xokepoint lê os grupos da pessoa com o okta.groups.read do API Services app. Qualquer grupo, menos o Everyone, pode ser escolhido em um agente.
Trocar a org
Se você trocar a org URL de uma conexão salva, as pessoas associadas antes pertencem à org anterior e perdem o acesso. O Xokepoint não bloqueia a troca.
Microsoft Entra ID
O formulário da conexão Microsoft Entra ID, o app registration do tenant, as permissões do Graph, as mensagens do check e o harness login.
Google Workspace
O formulário da conexão Google Workspace, os client IDs aceitos, o domínio, o service account com delegação de domínio e o consentimento pelo administrador.