Aprovisionamento SCIM
A NexBasira expõe um endpoint SCIM 2.0 em /api/scim/v2/ para que o seu IdP possa criar, atualizar e desativar utilizadores automaticamente quando os colaboradores entram, mudam de papel ou saem da empresa. Autenticação por bearer-token por organização, esquemas SCIM padrão, sem surpresas.
Antes de começar
- O SCIM está disponível no escalão Pro e acima.
- Já precisa de ter o SSO configurado (ver Configuração de SSO). O SCIM aprovisiona utilizadores; o SSO faz o login deles.
- Precisa de
org_admindo lado da NexBasira + permissão para configurar o aprovisionamento no seu IdP.
Emitir um token SCIM
- Na SPA: Admin → Token de aprovisionamento SCIM.
- Clique em Emitir token. O token em texto simples é mostrado uma única vez — copie-o de imediato.
- Anote o URL base do SCIM mostrado acima do botão:
https://app.nexbasira.com/api/scim/v2/
O token autentica cada chamada SCIM como essa organização. Tem scope e é revogável independentemente das credenciais da API e da configuração de SSO.
Ligar o seu IdP
Microsoft Entra ID (Azure AD)
- No centro de administração do Entra, abra a sua Enterprise App da NexBasira.
- Provisioning → Get started → Provisioning Mode: Automatic.
- Tenant URL:
https://app.nexbasira.com/api/scim/v2/ - Secret Token: cole o token da NexBasira.
- Clique em Test Connection. Deverá ver "Tenant URL and Secret Token are valid".
- Mapeie os atributos (os valores por defeito funcionam no caso comum). Guarde.
- Atribua utilizadores / grupos + ative o Provisioning Status para On.
Okta
- No Okta, abra a sua aplicação NexBasira.
- Provisioning → Configure API Integration → Enable API Integration.
- Base URL:
https://app.nexbasira.com/api/scim/v2/ - API Token: cole o token.
- Clique em Test API Credentials; espere "API token verified".
- No separador To App, ative Create / Update / Deactivate.
- Atribua utilizadores / grupos.
OneLogin / Google Workspace / Keycloak
Tudo semelhante: ative o aprovisionamento SCIM na aplicação NexBasira, cole o URL base + token, teste, atribua. O endpoint conforma-se ao RFC 7644, portanto qualquer IdP conforme ao SCIM 2.0 funciona.
O que é aprovisionado
O endpoint SCIM expõe os recursos padrão Users + Groups. Atualmente não expomos papéis do lado da organização via SCIM Groups — a atribuição de papel após o primeiro início de sessão é gerida na SPA. O SCIM cria o utilizador; você define o papel.
Operações suportadas
| Operação | Efeito na NexBasira |
|---|---|
| POST /Users | Cria um User + Membership na sua organização com o papel por defeito configurado. |
| PUT /Users/{id} | Atualiza o nome + email + flag ativo do utilizador. |
| PATCH /Users/{id} | Igual — atualizações parciais suportadas. |
| DELETE /Users/{id} | Desativa suavemente a membership (define active=false). As linhas do trilho de auditoria são preservadas. |
| GET /Users | Lista os utilizadores da sua organização para reconciliação pelo IdP. |
| GET /Users/{id} | Lê um utilizador. |
| GET /Groups | Devolve os quatro papéis de sistema + quaisquer papéis personalizados, apenas para visibilidade. |
Mapeamento de atributos (valores por defeito)
| Atributo SCIM | Campo NexBasira |
|---|---|
userName | email (em minúsculas) |
emails[type=work].value | email (fallback) |
name.givenName | first_name |
name.familyName | last_name |
active | Membership.is_active |
externalId | guardado na Membership para correlação com o IdP |
Filtragem
O endpoint suporta o query param SCIM filter em userName + externalId, que é o que os IdPs usam para reconciliação:
GET /api/scim/v2/Users?filter=userName eq "alice@acme.com"
GET /api/scim/v2/Users?filter=externalId eq "azure-uid-12345" Filtros mais complexos (and, or, co, etc.) não são exigidos pelas integrações de IdP na nossa experiência. Abra um ticket se se deparar com um caso destes.
Rodar o token
No cartão SCIM na administração da SPA, clique em Rodar token. O texto simples é mostrado uma vez + o token antigo é revogado imediatamente. Atualize o seu IdP com o novo token antes do próximo varrimento de aprovisionamento, ou o aprovisionamento começará a falhar.
Revogação
Clique em Revogar no cartão SCIM para invalidar imediatamente o token ativo. O aprovisionamento SCIM para; os utilizadores + memberships existentes ficam intactos. Emita um novo token para retomar.
O que isto não faz
- Não concede acesso à API — isso é cvp_pub/cvp_sec.
- Não conduz a atribuição de papéis RBAC — os SCIM Groups expõem os papéis apenas para leitura; atribua os papéis na SPA.
- Não substitui o SSO — os utilizadores continuam a precisar de SSO (ou de palavra-passe) para iniciar sessão de facto. O SCIM cria o invólucro da conta.
O que vem a seguir
- Configuração de SSO — combine o SCIM com OIDC / SAML para o fluxo completo conduzido pelo IdP
- Postura de segurança — hashing do token em repouso + registo de auditoria para chamadas SCIM