Tópicos avançados do OAuth2

Esta é a documentação do Apigee Edge.
Acesse 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 chamada de retorno com um parâmetro de consulta ?code que contém o código de autorização.

Em alguns casos, talvez você queira mudar esse comportamento. Por exemplo, talvez você queira retornar 200 com JSON estruturado contendo o código.

Para isso, use uma política ExtractVariable para recuperar o código e uma política AssignMessage para retornar o código em um payload JSON com status 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.