Skip to main content
POST
Obtenha tokens de acesso MCP de curta duração usando o código de autorização S256 de um cliente público ou seu token de atualização atual.

Autenticação

Sem autenticação HTTP do cliente. Envie client_id no corpo codificado em URL. Qualquer cabeçalho Authorization, client_secret ou client_assertion é rejeitado.

Corpo da requisição

Exemplos de requisição

Siga a codificação e a autenticação documentadas para esta rota. O formato de resposta e as regras de idempotência da API de ações se aplicam apenas às chamadas de ações.

Resposta

Um token de acesso Bearer opaco, seu tempo de vida restante em segundos, os escopos concedidos e um refresh token quando o cliente registrou refresh_token. expires_in é de no máximo 900 e pode ser menor perto da expiração da concessão.
HTTP 200

Cabeçalhos da resposta

Notas da operação

  • Parâmetros escalares reconhecidos devem ser fornecidos uma única vez como strings não vazias, sem caracteres de controle ASCII ou DEL. Campos de consulta/formulário repetidos são decodificados como arrays e rejeitados quando lidos como escalares.
  • Use dados de formulário codificados em URL, como curl —data-urlencode por campo. Um corpo de token JSON é rejeitado com invalid_request.
  • O público-alvo resource é obrigatório para ambos os tipos de concessão e deve corresponder exatamente à URL MCP do ambiente que emitiu o código ou token de atualização.
  • A troca do código de autorização exige o client_id original, o redirect_uri exato e um code_verifier S256 correspondente. Os códigos expiram após 2 minutos e são de uso único.
  • O endpoint de token rejeita qualquer cabeçalho Authorization fornecido, incluindo Basic e Bearer, além de qualquer campo client_secret ou client_assertion no corpo.
  • Tokens de acesso duram no máximo 15 minutos. Com refresh_token registrado, a conexão e a família de refresh tokens expiram 30 dias após a aprovação do usuário; a rotação não estende esse prazo.
  • O retorno de refresh_token depende dos tipos de concessão registrados. Não depende da inclusão de offline_access na requisição de autorização. O scope retornado acrescenta offline_access sempre que um token de atualização é retornado.
  • Para renovar, envie grant_type=refresh_token com client_id, o refresh_token atual, resource e, opcionalmente, um scope mais restrito. Substitua atomicamente o refresh token armazenado pelo novo valor.
  • Reutilizar um código de autorização consumido ou um token de atualização rotacionado revoga toda a conexão, incluindo todos os seus tokens de acesso. Não troque o mesmo código ou token de atualização simultaneamente.
  • Solicitações de renovação nunca adicionam permissões. Com um scope explícito, apenas as permissões de produto e identidade solicitadas são mantidas; offline_access não preserva permissões de produto omitidas.
  • Os tokens são vinculados ao usuário que concedeu acesso, ao cliente, ao público-alvo do recurso, à propriedade atual da equipe e ao acesso pago ativo. Uma concessão revogada ou uma mudança de propriedade requer reconexão.
  • O limite público de tokens é de 60 requisições por minuto por IP de cliente, compartilhado entre workers. Corpos codificados em URL são limitados a 32 KiB.
  • Falhas OAuth retornam error e error_description. Falhas no Body-parser podem ser retornadas antes no formato de erro do parser de integração.
  • openid e email são permissões de identidade, separadas das permissões do produto, aceitas apenas quando anunciadas. email exige openid. Na autorização inicial, uma solicitação apenas com escopos de identidade usa as permissões padrão do produto mostradas na tela de consentimento.
  • O client_id retornado pelo registro dinâmico ou a URL HTTPS pública exata do documento de metadados do cliente.
  • Quando openid é concedido, a troca do código de autorização também retorna um id_token assinado com RS256. Valide assinatura, emissor, público, expiração e nonce, se fornecido. Os escopos de identidade concedidos aparecem em scope da resposta; a renovação não emite um novo id_token.
  • Se OpenID Connect ficar indisponível, renovar sem scope mantém as permissões de produto e remove as de identidade. Solicitar explicitamente escopos de identidade indisponíveis retorna invalid_scope.
  • Se a conta tiver sido excluída ou desativada, o endpoint de tokens retorna invalid_grant com HTTP 400.

Erros