Esta página aplica-se ao Apigee e ao Apigee Hybrid.
Veja a documentação do
Apigee Edge.
Para fazer o seu trabalho como servidor de autorizações OAuth2, o Apigee tem de expor pontos finais onde os clientes podem pedir tokens e códigos de autorização. Este tópico oferece uma introdução rápida a estes pontos finais e mostra como configurá-los no Apigee.
O que é um ponto final do OAuth2?
Um ponto final OAuth2 é um URL que os clientes chamam para pedir tokens OAuth (ou códigos de autorização). Segue-se um exemplo de um pedido de um token de acesso:
$ curl -i -H "ContentType: x-www-form-urlencoded" \ -X POST "https://apitest.acme.com/oauth/client_credential/accesstoken" \ -d "grant_type=client_credentials" \ -H "Authorization: Basic c3FIOG9vSGV4VHo4QzAySVg5T1JvNnJoZ3ExaVNyQWw6WjRsanRKZG5lQk9qUE1BVQ"
Precisa de uma política OAuthV2 para processar este pedido. Como pode
inferir do pedido de exemplo acima, a política tem de suportar o tipo de concessão "credenciais do cliente" e
ser executada no caminho /oauth/client_credentials/accesstoken
.
Esta é uma política OAuthV2 de exemplo configurada para aceitar o tipo de autorização client_credentials
. Para informações sobre elementos de configuração opcionais que pode configurar com esta política, consulte a política OAuthV2.
<OAuthV2 name="GenerateAccessToken"> <Operation>GenerateAccessToken</Operation> <ExpiresIn>1800000</ExpiresIn> <!-- 30 minutes --> <SupportedGrantTypes> <GrantType>client_credentials</GrantType> </SupportedGrantTypes> <GenerateResponse enabled="true"/> </OAuthV2>
Segue-se um exemplo da configuração do ponto final para gerar um token de acesso. Executa a política GenerateAccessToken, que tem de ser configurada para suportar o tipo de concessão client_credentials.
... <Flow name="generate-access-token"> <Request> <Step> <Name>GenerateAccessToken</Name> </Step> </Request> <Response/> <Condition>(proxy.pathsuffix MatchesPath "/token") and (request.verb = "POST")</Condition> </Flow> ...
Se o cliente fornecer as credenciais corretas, a política gera e devolve um token; caso contrário, devolve um erro.
Tópicos relacionados
Para obter informações detalhadas sobre todos os tipos de concessão suportados e código de exemplo, consulte o artigo Obtenha tokens OAuth 2.0