Manutenção de aplicação¶
Realiza a atualização de informações de uma aplicação cliente no PSC SerproID.
PUT /client_maintenance
¶
Solicitação¶
A aplicação deve enviar os dados a serem atualizados ao endpoint de manutenção de aplicação do PSC SerproID, https://serproid.serpro.gov.br/oauth/v0/oauth/client_maintenance
postando os parâmetros via application/json
. O token de acesso gerado em Token de acesso de aplicação deverá ser enviado via HTTP Header no parâmetro Authorization
.
Parâmetros¶
HEADER:
Authorization
- (string) - valor "Bearer <access_token>", onde <access_token> se refere ao token de acesso obtido em Token de acesso de aplicação
JSON:
client_id
- (string) - identificador único da aplicação - Valor não alterávelname
- (string) - nome da aplicação - Valor alterávelcomments
- (string) - descrição da aplicação - Valor alterávelredirect_uris
- (Array de strings) - lista de url's para redirecionamento. Devem ser oriundas do host do certificado de equipamento apresentado, sendo vedada a utilização de fragments(#) - Valor alterávelemail
- (string) - E-mail para suporte em caso de indisponibilidade, mudança de versão, etc - Valor alterável
Exemplo¶
O exemplo encontra-se com quebras de linha e espaços para melhor leitura
PUT /oauth/v0/oauth/client_maintenance HTTP/1.1
Host: serproid.serpro.gov.br
Content-Type: application/json
Authorization: Bearer <token_da_aplicacao>
{
"client_id": "64e587fa-4f30-487d-96f0-44e6b14ff620",
"name": "Nome da Aplicação",
"comments": "Descrição da Aplicação",
"redirect_uris": ["https://www.aplicacao-exemplo.com/callback/certificado_nuvem", "https://www.aplicacao-exemplo.com/outro-callback"],
"email": "suporte@aplicacao-exemplo.com"
}
curl -X PUT \
https://serproid.serpro.gov.br/oauth/v0/oauth/client_maintenance \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <token_da_aplicacao>' \
-d '{
"client_id": "64e587fa-4f30-487d-96f0-44e6b14ff620",
"name": "Nome da Aplicação",
"comments": "Descrição da Aplicação",
"redirect_uris": [
"https://www.aplicacao-exemplo.com/callback/certificado_nuvem",
"https://www.aplicacao-exemplo.com/outro-callback"
],
"email":"suporte@aplicacao-exemplo.com"
}'
Resposta da solicitação¶
O PSC SerproID irá validar os dados informados e se os valores informados no campo redirect_uri
pertencem ao host em que o certificado SSL da aplicação foi emitido.
Solicitação válida (Sucesso)¶
Se a solicitação estiver válida, o PSC SerproID irá atualizar os dados da aplicação, retornando os dados com HTTP code 200 no formato application/json
.
Parâmetros¶
JSON:
client_id
- (string) - identificador único da aplicaçãoname
- (string) - nome da aplicaçãocomments
- (string) - descrição da aplicaçãoemail
- (string) - email do suporte da aplicaçãoredirect_uris
- (string) - lista de URIS de redirecionamento da aplicação
Exemplo¶
HTTP/1.1 200 OK
Content-Type: application/json
{
"client_id": "<client_id>",
"name": "<nome_da_aplicacao>",
"comments": "<descricao_da_aplicacao>",
"email": "<email_de_suport_da_aplicacao>",
"redirect_uris": [ "redirect_1_da_aplicacao", "redirect_2_da_aplicacao", "redirect_3_da_aplicacao"]
}
Solicitação inválida (Erro)¶
Se a solicitação for considerada inválida, seja devido a verificação dos parâmetros informados ou caso algum erro inesperado aconteça, o PSC SerproID retornará um erro no formato application/json
com o HTTP code correspondente ao tipo do erro.
Parâmetros¶
JSON:
code
- (string) - código do tipo do erromsg
- (string) - mensagem de errodebug
- (string) - informações adicionais sobre o erro
Exemplo¶
HTTP/1.1 401 Unauthorized
Content-Type: application/json
{
"code": "TOKEN_DE_ACESSO_INVALIDO",
"msg": "Token de acesso não informado, inválido ou expirado",
"debug": ""
}
Lista de erros¶
Tipo do erro | HTTP Code | Detalhes |
---|---|---|
TOKEN_DE_ACESSO_INVALIDO |
401 | Token de acesso não informado, inválido ou expirado |
MANUTENCAO_CLIENTE_ID_DIFERE_AUTORIZACAO |
401 | A aplicação informada via client_id difere da aplicação da autorização. |
CLIENTE_OAUTH_NAO_IDENTIFICADO |
412 | Não foi possível identificar a aplicação cliente. |
APLICACAO_OAUTH_NOME_JA_CADASTRADO |
412 | Já existe uma aplicação cadastrada com o nome informado |
CONTATO_EMAIL_INVALIDO |
412 | E-mail informado inválido: ... |
PELO_MENOS_UMA_REDIRECT_URI |
412 | Informe pelo menos 1 (uma) redirect URI |
URI_INVALIDA |
412 | URI inválida: ... |
URI_HTTPS_OBRIGATORIO |
412 | O protocolo da URI deve ser https: ... |
URI_NAO_CORRESPONDE_SUBJECT_ALT_NAME_CERTIFICADO |
412 | URI não deriva do conjunto de subject alternative names do certificado: ... |
MANUTENCAO_SECRET_CLIENTE_NAO_ATUALIZAVEL |
400 | Alteração da client_secret não disponível, entre em contato com a nossa equipe de atendimento. |
FALHA_MANUTENCAO_APLICACAO |
500 | Erro interno na manutenção da aplicação. |