Tópicos avançados do OAuth2

Você está vendo a documentação do Apigee Edge.
Acesse a documentação da Apigee X.
informações

Como usar tokens do OAuth de terceiros

Consulte Como usar tokens OAuth de terceiros.

Como projetar vários URLs de chamada de retorno

Ao usar o tipo de concessão do código de autorização, é necessário especificar um URL de chamada de retorno ao registrar seu app de desenvolvedor. Esse URL geralmente especifica o URL de um app designado para receber um código de autorização em nome do app cliente. Além disso, essa string de URL é usada para validação. O cliente precisa enviar esse URL para a Apigee Edge ao solicitar códigos de autorização e tokens de acesso, e o parâmetro redirect_uri precisa corresponder ao que está registrado. Consulte também Como solicitar tokens de acesso e códigos de autorização.

Exemplo:

http://myorg-test.apigee.net/weather/oauth/authorizationcode?client_id=123456&response_type=code&redirect_uri=http://example.com/callback&scope=scope1%20scope2&state=abc

Há um caso de uso para especificar vários URLs de chamada de retorno em um único aplicativo de proxy. Por exemplo, se você quiser autenticar em vários domínios. Por exemplo:

  • http://myexample.com/callback
  • http://myexample.uk/callback
  • http://myexample.ja/callback

A Apigee Edge não é compatível com a especificação de vários URLs de chamada de retorno nem o uso de caracteres curinga quando um app de desenvolvedor é registrado. Para isso, especifique um URL de chamada de retorno vazio ao registrar um app de desenvolvedor. Em seguida, coloque uma lógica em uma política JavaScript para validar os URIs de redirecionamento recebidos.

Como alterar o comportamento de retorno padrão de uma operação GenerateAuthCode

Por padrão, a operação GenerateAuthCode da política OAuthV2 retorna um redirecionamento 302 para o URL de retorno de chamada com um parâmetro de consulta ?code contendo o código de autorização.

Em alguns casos, é recomendável mudar esse comportamento. Por exemplo, talvez você queira retornar uma resposta 200 com um JSON estruturado contendo o código.

Para fazer isso, use uma política "ExtractVariable" para recuperar o código e uma política AttributionMessage para retornar o código em um payload JSON com um status de 200.

Como auditar o consentimento do usuário final do app

Pode ser necessário verificar se um usuário final autorizou um app. Para isso, use a API Audit do Apigee Edge.

Amostra de OAuth de saída

Consulte a amostra outbound-oauth no repositório api-platform-samples do Apigee no GitHub. Você pode clonar a amostra, implantá-la e executá-la. Neste exemplo, usamos a API de tradução do Microsoft Azure para traduzir tweets. Para isso, ele faz uma chamada de saída para conseguir um token de acesso OAuth e, em seguida, armazena em cache o token usando as políticas de armazenamento em cache dos Serviços da API, reutilizando o token em cache sempre que uma chamada for feita. Além disso, inclui um aplicativo de navegação de demonstração usado para invocar o proxy de API.