Resumo

  • O rascunho individual propõe GroupMembership, recurso que representa uma associação específica entre grupo e membro. Consultas filtradas e paginadas permitiriam conferir o conjunto visível ao cliente.
  • O campo opcional membersEmbedded indicaria se Group.members veio completo. false não promete completude; true só a garante quando a própria solicitação permite devolver o atributo de membros.

O recibo da revogação precisa bater com o cadastro

No RFC 7643, o grupo traz seus membros em um atributo de múltiplos valores. O autor do novo texto descreve o problema operacional quando essa resposta fica pesada: alguns serviços deixam de devolver members, e clientes também podem excluí-lo para reduzir o tráfego. Alterações continuam possíveis, mas o cliente perde a reconciliação entre o estado pretendido e o estado efetivo. O documento não apresenta levantamento independente da frequência do problema; ele descreve uma lacuna verificável na interface.

Na proposta, cada associação receberia um ID opaco criado pelo provedor, com referências ao grupo e ao membro. O cliente poderia filtrar todos os membros de um grupo, todos os grupos de uma pessoa ou a associação exata entre dois IDs. Uma tentativa de criar a mesma dupla novamente deveria receber conflito. Para uma revogação, o operador poderia localizar um recurso concreto e eliminá-lo, em vez de mexer às cegas numa lista enorme.

A bandeira membersEmbedded responde à pergunta que a tela normalmente esconde: esta lista está completa? Com true, sim, desde que a solicitação não tenha removido members da resposta. O cliente que excluiu o atributo não ganha autorização para chamar o grupo de vazio. Com false, uma lista pode estar completa por acaso, parcial ou ausente; o provedor não garante nada. Sem bandeira, permanece a interpretação atual do SCIM. Quem precisa de uma relação completa deve buscar as associações por grupo em /GroupMemberships.

Esse novo endpoint teria de mostrar todas as associações que o cliente solicitante está autorizado a ver. A ressalva importa: a visão completa de um cliente não equivale necessariamente ao cadastro inteiro do provedor. O texto exige filtros de igualdade por grupo e membro e alguma paginação. Recomenda cursores porque índices podem se deslocar enquanto pessoas entram ou saem. A promessa de ordem estável depende de não haver mudança nos vínculos durante a consulta.

Se o serviço mantiver os dois caminhos de escrita, deverá sincronizá-los. Uma remoção em Group.members precisa apagar o recurso correspondente, e uma exclusão do recurso precisa refletir no grupo. Apagar grupos ou membros também deve limpar suas associações. Dois registros divergentes transformariam a revogação numa disputa entre telas. O Datatracker ainda classifica o texto como rascunho individual. Adoção por grupo de trabalho e ensaio de um provedor são os fatos que faltam para avaliar sua chegada à prática.

Fontes: rascunho original; estado na IETF; RFC 7643; RFC 7644; RFC 9865.