rollfuse
← Voltar aos tutoriais

Configurando provisionamento SCIM a partir do seu provedor de identidade

Configurando provisionamento SCIM a partir do seu provedor de identidade

Se a sua empresa já gerencia quem tem acesso a quê através de um provedor de identidade compatível com SCIM 2.0, você não precisa convidar cada colega manualmente na rollfuse. Um token SCIM permite que esse provedor crie, atualize e desative usuários direto na sua Organização, mantendo o acesso aqui sincronizado com o que o provedor já controla.

Emitir e revogar um token SCIM exigem uma sessão de um Membro com a permissão de gerenciamento de roles. O provisionamento em si, depois que o token existe, é conduzido inteiramente pelo seu provedor de identidade, e não por chamadas que você faz manualmente.

Antes de começar: o provisionamento SCIM exige o plano Enterprise. A sua Organização precisa de uma assinatura Enterprise ativa, em período de teste ou com pagamento em atraso, ou a solicitação do token é recusada com 402 plan_upgrade_required. Se a Organização for rebaixada depois, apenas a criação de usuários é recusada: o seu provedor de identidade continua podendo consultar usuários e desativar pessoas que saíram, e você continua podendo listar e revogar tokens. Se não for possível verificar o plano por um instante, criar um usuário ou emitir um token recebe um 503 temporário (plan_check_unavailable na solicitação do token) e nada é criado; tente de novo em seguida.

Passo 1: emitir um token SCIM

const orgId = "018f2f3a-6000-7000-9c3a-1f2b3c4d5e6f";
const token = process.env.ROLLFUSE_SESSION_TOKEN;

const tokenRes = await fetch(
  `https://api.rollfuse.com/v1/organizations/${orgId}/scim-tokens`,
  { method: "POST", headers: { Authorization: `Bearer ${token}` } }
);

const scimToken = await tokenRes.json();
console.log(scimToken.token); // token em texto puro, exibido só agora

A resposta é o único lugar em que o token em texto puro aparece. Copie scimToken.token para a tela de configuração SCIM do seu provedor de identidade imediatamente: a rollfuse guarda apenas o suficiente para verificá-lo depois, e não existe endpoint que devolva esse valor caso você o perca.

Passo 2: aponte seu provedor de identidade para a rollfuse

Na configuração SCIM 2.0 do seu provedor de identidade, informe a URL base SCIM da rollfuse e cole o token que você acabou de emitir como credencial bearer. A partir daí, sempre que seu provedor atribuir, atualizar ou remover uma pessoa do aplicativo ligado a essa integração, ele mesmo envia a requisição SCIM correspondente; você não precisa escrever esse código de integração.

Passo 3: listar tokens ativos

Antes de emitir um token novo, verifique o que já existe para não deixar credenciais esquecidas ainda ativas:

const listRes = await fetch(
  `https://api.rollfuse.com/v1/organizations/${orgId}/scim-tokens`,
  { headers: { Authorization: `Bearer ${token}` } }
);

const { scim_tokens } = await listRes.json();
scim_tokens.forEach((t) => console.log(t.id, t.status, t.created_at));

Isso lista todos os tokens já emitidos para a Organização, ativos ou revogados, e nunca inclui o valor em texto puro de novo, só o id, o status e as datas.

Passo 4: revogar um token

Se um token for comprometido, ou você estiver desativando uma integração com um provedor de identidade, revogue imediatamente:

await fetch(
  `https://api.rollfuse.com/v1/organizations/${orgId}/scim-tokens/${scimToken.id}`,
  { method: "DELETE", headers: { Authorization: `Bearer ${token}` } }
);

Depois de revogado, qualquer requisição SCIM autenticada com aquele token é rejeitada. Revogar um token que já está revogado volta como conflito em vez de simplesmente ter sucesso silenciosamente, o que é um sinal útil se você estiver automatizando a limpeza de vários tokens de uma vez.