Esta página aplica-se ao Apigee e ao Apigee Hybrid.
Veja a documentação do
Apigee Edge.
Usar tokens OAuth de terceiros
Consulte o artigo Usar tokens OAuth de terceiros.
Designar vários URIs de redirecionamento
Quando usar o tipo de concessão de código de autorização, tem de especificar um URI de redirecionamento quando
registar a sua app de programador. O URI de redirecionamento especifica o URI de uma app que
está designado para receber um código de autorização em nome da app cliente. O cliente tem de enviar este URI para o Apigee quando
solicitar códigos de autorização e tokens, e o parâmetro redirect_uri
tem de corresponder ao
registado. Consulte também o artigo Obtenha tokens OAuth 2.0.
Por exemplo:
https://mydomain.com/authorize?\ client_id=123456&\ response_type=code&\ redirect_uri=https%3A%2F%2Fmydomain.com%2Fcallback&scope=scope1%20scope2&state=abc
Existe um exemplo de utilização para especificar vários URIs de redirecionamento numa única aplicação proxy. Por exemplo, pode querer autenticar vários domínios. Por exemplo:
https://mydomain.com/callback
https://mydomain.uk/callback
https://mydomain.ja/callback
Para especificar vários URIs de redirecionamento na app de programador, adicione-os como uma lista separada por vírgulas no campo URL de retorno de chamada na IU da app de programador. Por exemplo:
https://mydomain.com/callback,https://mydomain.uk/callback,https://mydomain.ja/callback
Tenha em atenção que o pedido /authorize
só pode ter um URI no parâmetro redirect_uri
.
Desde que o URI de redirecionamento corresponda a um dos URIs especificados no campo URL de retorno de chamada na IU da app do programador,
o pedido é bem-sucedido.
Alterar o comportamento de retorno predefinido de uma operação GenerateAuthCode
Por predefinição, a operação GenerateAuthCode da política OAuthv2 devolve um 302
redirecionamento para o
URI de redirecionamento com um parâmetro de consulta ?code
que contém o código de autorização.
Em alguns casos, pode querer alterar este comportamento. Por exemplo, pode querer devolver uma resposta 200
com JSON estruturado que contenha o código.
Uma forma de alcançar este exemplo de utilização é definir a propriedade GenerateResponse da política OAuthV2 como false
.
Use a política ExtractVariable para obter o valor do código de autorização da variável
oauthv2authcode.{policy_name}.code
. Em seguida, pode usar a
política AssignMessage
para devolver o código num payload JSON com o estado 200.
Auditar o consentimento do utilizador final da app
Pode ter de validar se um utilizador final da app autorizou uma app. Pode usar a API Apigee Audit para o fazer.
Exemplo de OAuth de saída
Consulte o exemplo outbound-oauth no repositório api-platform-samples do Apigee no GitHub. Pode clonar o exemplo, implementá-lo e executá-lo. Este exemplo usa a API Microsoft Azure Translator para traduzir tweets. Para tal, faz uma chamada de saída para obter um token de acesso OAuth e, em seguida, coloca o token em cache através das políticas de colocação em cache dos serviços de API, reutilizando o token em cache sempre que é feita uma chamada de saída. Além disso, inclui uma app de navegador de demonstração usada para invocar o proxy da API.