Você está vendo a documentação do Apigee Edge.
Acesse a
documentação da Apigee X. informações
O Apigee Edge encapsula os recursos do OAuth 1.0a e OAuth 2 em um conjunto de políticas. O gerenciamento do ciclo de vida de tokens e secrets, incluindo geração, validação e armazenamento, é gerenciado pelo Apigee Edge em nome dos serviços de back-end.
Este documento especifica as variáveis de fluxo definidas pelas políticas do OAuth. As variáveis podem ser usadas para implementar um comportamento personalizado nos fluxos do OAuth. Para usar o OAuth, consulte OAuth.
Variáveis de fluxo do OAuth 2.0
As variáveis de fluxo definidas nesta tabela são preenchidas quando as respectivas políticas de OAuth são executadas e, portanto, estão disponíveis para outras políticas ou aplicativos em execução no fluxo de proxy da API.
Verificar a política de token de acesso |
* Variáveis de produto de API |
Exemplo de política: <OAuthV2 name="VerifyAccessToken"> <Operation>VerifyAccessToken</Operation> <Scope>space-separated-scopes</Scope>* <AccessToken>flow.variable</AccessToken>* <AccessTokenPrefix>Bearer</AccessTokenPrefix>* </OAuthV2> Somente tokens do portador são compatíveis. Os tokens MAC não são compatíveis. Por padrão, o token de acesso precisa ser transmitido no cabeçalho da solicitação HTTP de autorização. Exemplo:
Qualquer
Se os campos opcionais não forem especificados, os valores serão extraídos de acordo com a especificação do OAuth 2.0. |
Gerar política de código de autorização |
Variáveis definidas em caso de sucesso:
|
Exemplo de política: <OAuthV2 name="GetAuthCode"> <Operation>GenerateAuthorizationCode</Operation> <ExpiresIn>1000<ExpiresIn> <ResponseType>flow.variable</ResponseType>* <ClientId>flow.variable</ClientId>* <RedirectUri>flow.variable</RedirectUri>* <Scope>flow.variable</Scope>* <State>flow.variable</State>* <Attributes>* <Attribute name=”1” ref=”flow.variable”>value1</Attribute> <Attribute name=”2” ref=”flow.variable”>value2</Attribute> </Attributes> </OAuthV2> * Opcional Qualquer
Se os campos opcionais não forem especificados, os valores serão extraídos de acordo com a especificação do OAuth 2.0. Os valores de atributo são derivados dinamicamente da variável de fluxo especificada ou estaticamente, usando um valor padrão na política. Se ambas forem especificadas, a variável de fluxo terá precedência. |
Gerar política de token de acesso para códigos de autorização de tipos de concessão, credenciais de usuário e credenciais de cliente |
Variáveis definidas em caso de sucesso:
|
Exemplo de política: <OAuthV2 name="GenerateAccessToken"> <Operation>GenerateAccessToken</Operation> <ExpiresIn>1000<ExpiresIn> <SupportedGrantTypes>* <GrantType>authorization_code</GrantType> <GrantType>password</GrantType> <GrantType>client_credentials</GrantType> </SupportedGrantTypes> <GrantType>flow.variable</GrantType>* <ClientId>flow.variable</ClientId>* <RedirectUri>flow.variable</RedirectUri>* <Scope>flow.variable</Scope>* <AppEndUser>flow.variable</AppEndUser>* <Code>flow.variable</Code>* <UserName>flow.variable</UserName>* <PassWord>flow.variable</PassWord>* <Attributes>* <Attribute name=”1” ref=”flow.variable”>value1</Attribute> <Attribute name=”2” ref=”flow.variable”>value2</Attribute> </Attributes> </OAuthV2> * Opcional Qualquer
Se os campos opcionais não forem especificados, os valores serão extraídos de acordo com a especificação do OAuth 2.0. Os valores de atributo são derivados dinamicamente da variável de fluxo especificada ou estaticamente, usando um valor padrão na política. Se ambas forem especificadas, a variável de fluxo terá precedência. |
Gerar política de token de acesso para o tipo de concessão implícita |
Variáveis definidas em caso de sucesso:
|
Exemplo de política: <OAuthV2 name="GenerateAccessToken"> <Operation>GenerateAccessTokenImplicitGrant</Operation> <ExpiresIn>1000<ExpiresIn> <ResponseType>flow.variable></ResponseType>* <ClientId>flow.variable></ClientId>* <RedirectUri>flow.variable></RedirectUri>* <Scope>flow.variable></Scope>* <State>flow.variable></State>* <AppEndUser>flow.variable</AppEndUser>* <Attributes>* <Attribute name=”1” ref=”flow.variable”>value1</Attribute> <Attribute name=”2” ref=”flow.variable”>value2</Attribute> </Attributes> </OAuthV2> * Opcional Qualquer
Se os campos opcionais não forem especificados, os valores serão extraídos de acordo com a especificação do OAuth 2.0. Os valores de atributo são derivados dinamicamente da variável de fluxo especificada ou estaticamente, usando um valor padrão na política. Se ambas forem especificadas, a variável de fluxo terá precedência. |
Atualizar política de token de acesso |
Variáveis definidas em caso de sucesso:
|
Exemplo de política: <OAuthV2 name="RefreshAccessToken"> <Operation>RefreshAccessToken</Operation> <ExpiresIn>1000<ExpiresIn> <GrantType>flow.variable</GrantType>* <RefreshToken>flow.variable</RefreshToken>* </OAuthV2> * Opcional Qualquer
Se os campos opcionais não forem especificados, os valores serão extraídos de acordo com a especificação do OAuth 2.0. |
Acessar política de atributos do cliente |
Exemplo de política: <GetOAuthV2Info name="GetClientAttributes"> <ClientId ref="{variable_name}"/> </GetOAuthV2Info> Exemplo de política: <GetOAuthV2Info name="GetClientAttributes"> <ClientId>{client_id}</ClientId> </GetOAuthV2Info> |
Acessar política de atributos de token de acesso |
Variáveis definidas em caso de sucesso:
|
Exemplo de política: <GetOAuthV2Info name="GetTokenAttributes"> <AccessToken ref="{variable_name}"/> </GetOAuthV2Info> Exemplo de política: <GetOAuthV2Info name="GetTokenAttributes"> <AccessToken>{access_token}</AccessToken> </GetOAuthV2Info> |
Acessar política de atributos do código de autorização |
Exemplo de política: <GetOAuthV2Info name="GetAuthCodeAttributes"> <AuthorizationCode ref="{variable_name}"/> </GetOAuthV2Info> Exemplo de política: <GetOAuthV2Info name="GetAuthCodeAttributes"> <AuthorizationCode>{authorization_code}</AuthorizationCode> </GetOAuthV2Info> |
Acessar política de atributos de token de atualização |
Exemplo de política: <GetOAuthV2Info name="GetTokenAttributes"> <RefreshToken ref="{variable_name}"/> </GetOAuthV2Info> Exemplo de política: <GetOAuthV2Info name="GetTokenAttributes"> <RefreshToken>{refresh_token}</RefreshToken> </GetOAuthV2Info> |
Variáveis de fluxo do OAuth 1.0a
As variáveis de fluxo definidas nesta tabela são preenchidas quando as respectivas políticas de OAuth são executadas e, portanto, estão disponíveis para outras políticas ou aplicativos em execução no fluxo de proxy da API.
Gerar política de token de solicitação
Exemplo de política:
<OAuthV1 name="GenerateRequestToken"> <Operation>GenerateRequestToken</Operation> </OAuthV1>
Variáveis definidas em caso de sucesso:
oauth_token
oauth_token_secret
oauth_callback_confirmed
oauth_response
oauth_consumer_key
oauth_consumer_secret
Gerar política de token de acesso
Exemplo de política:
<OAuthV1 name="GenerateAccessToken"> <Operation>GenerateAccessToken</Operation> </OAuthV1>
Variáveis definidas em caso de sucesso:
oauth_token
oauth_token_secret
oauth_response
oauth_consumer_key
oauth_consumer_secret
Política de verificação de tokens de acesso
Exemplo de política:
<OAuthV1 name="VerifyAccessToken"> <Operation>VerifyAccessToken</Operation> </OAuthV1>
Variáveis definidas em caso de sucesso:
oauth_token
oauth_token_secret
oauth_response
oauth_consumer_key
oauth_consumer_secret
Verificar a política da chave de API
Exemplo de política:
<GetOAuthV1Info name="VerifyApiKey"> <OAuthConfig>{config_name}</OAuthConfig>* <APIKey ref="{variable_name}" /> </GetOAuthV1Info>
* Opcional
Variáveis definidas em caso de sucesso:
oauth_consumer_key
oauth_consumer_secret
Verificar a política do consumidor
Exemplo de política:
<GetOAuthV1Info name="VerifyConsumer"> <OAuthConfig>{config_name}</OAuthConfig>* <ConsumerKey ref="{variable_name}" /> </GetOAuthV1Info>
* Opcional
Variáveis definidas em caso de sucesso:
oauth_consumer_key
oauth_consumer_secret
Verificar política de token
Exemplo de política:
<GetOAuthV1Info name="VerifyToken"> <OAuthConfig>{config_name}</OAuthConfig>* <RequestToken ref="{variable_name}" /> </GetOAuthV1Info>
* Opcional
Variáveis definidas em caso de sucesso:
oauth_token
oauth_token_secret