Noções básicas sobre os endpoints do OAuth

Esta é a documentação do Apigee Edge.
Acesse Documentação da Apigee X.
informações

Para realizar seu trabalho como um servidor de autorização OAuth2, a Apigee Edge precisa expor endpoints onde os clientes podem solicitar tokens e códigos de autenticação. Neste tópico, apresentamos uma introdução rápida a esses endpoints e mostramos como configurá-los no Edge.

O que é um endpoint OAuth2?

Um ponto de extremidade OAuth2 é um URL que os clientes chamam para solicitar tokens OAuth (ou códigos de autenticação). Veja abaixo um exemplo de solicitação de um token de acesso:

$ curl -i -H 'ContentType: x-www-form-urlencoded' \
-X POST 'https://docs-test.apigee.net/oauth/client_credential/accesstoken' \
-d 'grant_type=client_credentials' \
-H 'Authorization: Basic c3FIOG9vSGV4VHo4QzAySVg5T1JvNnJoZ3ExaVNyQWw6WjRsanRKZG5lQk9qUE1BVQ'

No ambiente da Apigee Edge, é necessária uma política para lidar com esse tipo de solicitação. Como é possível inferir a partir da solicitação, a política precisa ser compatível com o tipo de concessão "credenciais do cliente" e a política precisa ser executada no caminho /oauth/client_credentials/accesstoken.

A política correta nesse caso é uma política OAuthV2, configurada para ser executada em um fluxo como o exemplo a seguir ilustra (onde o nome da política é GenerateAccessTokenClient):

        <Flow name="AccessTokenClientCredential">
            <Description/>
            <Request>
                <Step>
                    <FaultRules/>
                    <Name>GenerateAccessTokenClient</Name>
                </Step>
            </Request>
            <Response/>
            <Condition>(proxy.pathsuffix MatchesPath &quot;/accesstoken&quot;) and (request.verb = &quot;POST&quot;)</Condition>
        </Flow>

Se o cliente fornecer as credenciais corretas, a política gerará e retornará um token. Caso contrário, retornará um erro.

Como localizar os endpoints padrão

Por padrão, o Apigee adiciona um proxy de ponto de extremidade OAuth2 a cada nova organização criada. Se você procurar, encontrará um proxy chamado oauth na sua organização.

Para encontrar esse proxy:

  1. Acesse a página "Proxies de API", conforme descrito abaixo.

    Edge

    Para acessar a página "Proxies de API" usando a interface do Edge:

    1. Faça login em apigee.com/edge.
    2. Selecione Develop > API Proxies na barra de navegação à esquerda.
    3. Clique em +Proxy.

    Edge clássico (nuvem privada)

    Para acessar a página "Proxies de API" usando a interface clássica do Edge:

    1. Faça login em http://ms-ip:9000, em que ms-ip é o endereço IP ou o nome DNS do nó do servidor de gerenciamento.
    2. Selecione APIs > Proxies de API na barra de navegação superior.
  2. Na lista de proxies, selecione aquele chamado oauth.
  3. Na página de visão geral do proxy, selecione a guia Desenvolver para visualizar o editor e examinar as políticas e os fluxos no proxy.

Prática recomendada: criar seu próprio proxy de endpoint OAuth2

O proxy oauth padrão é limitado. Ele é compatível apenas com o tipo de concessão de credenciais do cliente. Este proxy é apenas um exemplo. Para produção, crie um proxy que configure os endpoints OAuth2 que atendem às suas necessidades.

Observação importante: um proxy que define endpoints OAuth2 normalmente é um proxy "Sem destino". O proxy atua como um serviço que é executado no ProxyEndpoint e retorna diretamente para o cliente.

Temas relacionados

Como solicitar tokens de acesso e códigos de autorização