Antes de começar
Para gerenciar parceiros, um usuário precisa das permissões
partners de plugin-identity: get para ler parceiros e catálogos de escopo, post para criar um parceiro, patch para alterar um e delete para excluir um. Gerenciar as aplicações dele precisa das permissões applications get, post e delete. O papel plugin-identity-editor-role tem todas elas.
As operações
Para saber quais dimensões um produto aceita em
scope, leia o catálogo de escopo dele. Cada dimensão tem um name e as flags required, multi e explicit.
Os campos do parceiro
A resposta também traz
id, applicationsCount, createdAt e updatedAt.
Regras que valem para os campos:
producté o slug de produto que o catálogo de escopo do produto traz, comoplugin-br-pix-jd.- Escreva
actionscomo verbos HTTP em minúsculas:get,post,put,patch,delete. resources×actionsé um produto cartesiano completo. Para dar ações diferentes em recursos diferentes, envie mais de uma entrada para o mesmo produto.- O Access Manager recusa o curinga
*emresources,actionsevalues. Liste os itens. - Um produto em
scopetambém deve estar empermissions. - Um produto cujo catálogo de escopo declara dimensões precisa de pelo menos uma entrada de escopo em cada parceiro com permissões nesse produto. A exceção é uma entrada de permissões que tem apenas permissões que o produto reserva para parceiros: ela não precisa de escopo, e vale para o tenant inteiro. Sem uma entrada de escopo, o Access Manager recusa criar ou alterar o parceiro, com
IDE-1060. Um parceiro guardado sem ela antes desta regra é recusado com403em toda requisição a esse produto, até você adicionar uma entrada de escopo. - Uma dimensão que o catálogo marca como
requiredprecisa de uma entrada de escopo em cada parceiro com permissões nesse produto, ou o Access Manager recusa comIDE-0001. Uma dimensão semmultiaceita apenas um valor, ou o Access Manager recusa comIDE-0002. - Para uma dimensão que o catálogo marca como
explicit, uma permissão na coleção dessa dimensão precisa de uma entrada de escopo que liste os IDs dela. Sem ela, o Access Manager recusa comIDE-1052. O parceiro alcança só os IDs que você lista. - O Access Manager não confere se os
valuesexistem no produto. Use os identificadores que a própria API do produto retorna. stateéactiveoususpended, nuncaexpired. Depois devalidUntil, uma leitura ainda retorna o estado guardado.- Depois da data
validUntildo parceiro, o Access Manager recusa as requisições dele, também com um token que ele já tem, e recusa tokens novos.
O campo de lista de IPs permitidos
ipAllowlist tem três significados no PATCH:
Cada entrada da lista própria do parceiro deve ser um intervalo IPv4 de
/24 ou mais estreito, ou um intervalo IPv6 de /48 ou mais estreito. Uma entrada mais ampla é recusada com IDE-1052. Uma entrada que o parceiro já tem não é verificada de novo.
No POST, omita o campo ou envie null para usar a lista do seu tenant.
Quando um parceiro tem uma lista de IPs própria, essa lista substitui a lista de IPs do tenant nas requisições do parceiro.
validFrom e validUntil funcionam de forma parecida no PATCH. Omita um limite para mantê-lo, envie um instante para defini-lo ou envie null para removê-lo.
Exemplos
Troque os placeholders pela URL base da sua Identity API, pelo seu bearer token e por identificadores do seu próprio deploy.
Criar as aplicações do parceiro
Um parceiro chama um produto com uma aplicação que pertence a ele. Depois de criar o parceiro:
- Crie uma aplicação com Criar uma aplicação. Envie o
iddo parceiro empartnerIde o slug do produto emtarget, comoplugin-br-pix-jd. - A Identity API retorna o client secret somente na resposta que cria a aplicação. Guarde-o nesse momento. Se você perder o secret, exclua a aplicação e crie uma nova.
- Envie o client ID e o secret ao parceiro por um canal seguro.
- Repita os passos 1 a 3 para cada produto que o parceiro chama. Crie uma aplicação por produto.
id dele no parâmetro de consulta partnerId de Listar aplicações. Se partnerId não nomear um parceiro do seu tenant, as duas operações retornam 404 com IDE-1046.
Alterar, suspender ou excluir um parceiro
- No
PATCH, envie apenas os campos que você altera. Uma listapermissionsouscopesubstitui a lista guardada inteira. Leia o parceiro antes e depois envie a nova lista completa. - Para suspender um parceiro, envie
"state": "suspended". Para reativá-lo, envie"state": "active". - Suspender um parceiro no Access Manager interrompe o acesso dele, inclusive os tokens que ele já tem. Reativar o parceiro dentro da janela de validade dele restaura o acesso com as mesmas credenciais.
- Quando uma alteração vale diz quando o parceiro vê uma alteração de permissões ou de escopo.
- Você não pode excluir um parceiro que ainda tem aplicações. A resposta é
409comIDE-1049, e a listaerrorsdela nomeia cada aplicação que bloqueia, com o client ID dela. Exclua essas aplicações antes. - Excluir uma aplicação faz os tokens dela pararem de funcionar.
Códigos de erro
Erros nas operações de parceiro:
Para qualquer outro código, consulte a lista de erros do Access Manager.

