Variables de flujo de OAuth

Estás viendo la documentación de Apigee Edge.
Ir a la documentación de Apigee X.
info

Apigee Edge encapsula las capacidades de OAuth 1.0a y OAuth 2 en un conjunto de políticas. Apigee Edge administra la administración del ciclo de vida de los tokens y los secretos, incluida la generación, la validación y el almacenamiento, en nombre de tus servicios de backend.

En este documento, se especifican las variables de flujo definidas por las políticas de OAuth. Las variables se pueden usar para implementar un comportamiento personalizado para los flujos de OAuth. Para el uso de OAuth, consulta OAuth.

Variables de flujo de OAuth 2.0

Las variables de flujo definidas en esta tabla se propagan cuando se ejecutan las políticas de OAuth correspondientes . Por lo tanto, están disponibles para otras políticas o aplicaciones que se ejecutan en el flujo de proxy de API .

Política de verificación de token de acceso
  • organization_name
  • organization_name
  • developer.id
  • developer.app.name
  • client_id
  • grant_type
  • token_type
  • access_token
  • accesstoken.{custom_attribute}
  • issued_at
  • expires_in
  • status
  • scope
  • apiproduct.name*
  • apiproduct.<custom_attribute_name>*

* Variables del producto de API

Política de muestra:

<OAuthV2 name="VerifyAccessToken">
    <Operation>VerifyAccessToken</Operation>
    <Scope>space-separated-scopes</Scope>*
    <AccessToken>flow.variable</AccessToken>*        
    <AccessTokenPrefix>Bearer</AccessTokenPrefix>*
</OAuthV2>

Solo se admiten tokens de portador. No se admiten tokens MAC.

De forma predeterminada, el token de acceso debe pasarse en el encabezado de solicitud HTTP de autorización.

Por ejemplo:

"Authorization: Bearer {PlainText_AccessToken}"

Cualquier flow.variable se puede pasar como:

  • HTTP Header: request.header.{variable_name}
  • Query parameter: request.queryparam.{variable_name}
  • Form parameter: request.formparam.{variable_name}

Si no se especifican los campos opcionales, los valores se extraen según la especificación de OAuth 2.0 especificación.

Política de generación de código de autorización
Variables establecidas cuando la operación se realiza correctamente:
  • oauthv2authcode.{policy_name}.code
  • oauthv2authcode.{policy_name}.redirect_uri
  • oauthv2authcode.{policy_name}.scope
  • oauthv2authcode.{policy_name}.client_id

Política de muestra:

<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

Cualquier flow.variable se puede pasar como:

  • HTTP Header: request.header.{variable_name}
  • Query parameter: request.queryparam.{variable_name}
  • Form parameter: request.formparam.{variable_name}

Si no se especifican los campos opcionales, los valores se extraen según la especificación de OAuth 2.0 especificación.

Los valores de los atributos se derivan de forma dinámica de la variable de flujo especificada o de forma estática con un valor predeterminado en la política.

Si se especifican ambos, la variable de flujo tiene prioridad.

Política de generación de token de acceso para el código de autorización de tipos de otorgamiento, las credenciales de usuario y las credenciales de cliente
Variables establecidas cuando la operación se realiza correctamente:
  • oauthv2accesstoken.{policy_name}.access_token
  • oauthv2accesstoken.{policy_name}.token_type
  • oauthv2accesstoken.{policy_name}.expires_in
  • oauthv2accesstoken.{policy_name}.refresh_token

Política de muestra:

<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

Cualquier flow.variable se puede pasar como:

  • HTTP Header: request.header.{variable_name}
  • Query parameter: request.queryparam.{variable_name}
  • Form parameter: request.formparam.{variable_name}

Si no se especifican los campos opcionales, los valores se extraen según la especificación de OAuth 2.0 especificación.

Los valores de los atributos se derivan de forma dinámica de la variable de flujo especificada o de forma estática con un valor predeterminado en la política.

Si se especifican ambos, la variable de flujo tiene prioridad.

Política de generación de token de acceso para el tipo de otorgamiento implícito
Variables establecidas cuando la operación se realiza correctamente:
  • oauthv2accesstoken.{policy_name}.access_token
  • oauthv2accesstoken.{policy_name}.token_type
  • oauthv2accesstoken.{policy_name}.expires_in
  • oauthv2accesstoken.{policy_name}.refresh_token

Política de muestra:

<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

Cualquier flow.variable se puede pasar como:

  • HTTP Header: request.header.{variable_name}
  • Query parameter: request.queryparam.{variable_name}
  • Form parameter: request.formparam.{variable_name}

Si no se especifican los campos opcionales, los valores se extraen según la especificación de OAuth 2.0 especificación.

Los valores de los atributos se derivan de forma dinámica de la variable de flujo especificada o de forma estática con un valor predeterminado en la política.

Si se especifican ambos, la variable de flujo tiene prioridad.

Política de actualización de token de acceso
Variables establecidas cuando la operación se realiza correctamente:
  • oauthv2accesstoken.{policy_name}.access_token
  • oauthv2accesstoken.{policy_name}.token_type
  • oauthv2accesstoken.{policy_name}.expires_in
  • oauthv2accesstoken.{policy_name}.refresh_token

Política de muestra:

<OAuthV2 name="RefreshAccessToken">
  <Operation>RefreshAccessToken</Operation>
  <ExpiresIn>1000<ExpiresIn>
  <GrantType>flow.variable</GrantType>*
  <RefreshToken>flow.variable</RefreshToken>*
</OAuthV2>

* Opcional

Cualquier flow.variable se puede pasar como:

  • HTTP Header: request.header.{variable_name}
  • Query parameter: request.queryparam.{variable_name}
  • Form parameter: request.formparam.{variable_name}

Si no se especifican los campos opcionales, los valores se extraen según la especificación de OAuth 2.0 especificación.

Política de obtención de atributos de cliente

Política de muestra:

<GetOAuthV2Info name="GetClientAttributes">
<ClientId ref="{variable_name}"/>
</GetOAuthV2Info>

Política de muestra:

<GetOAuthV2Info name="GetClientAttributes">
  <ClientId>{client_id}</ClientId>
</GetOAuthV2Info>
Política de obtención de atributos de token de acceso
Variables establecidas cuando la operación se realiza correctamente:
  • oauthv2accesstoken.{policy_name}.access_token
  • oauthv2accesstoken.{policy_name}.scope
  • oauthv2accesstoken.{policy_name}.refresh_token
  • oauthv2accesstoken.{policy_name}.accesstoken.{custom_attribute_name}
  • oauthv2accesstoken.{policy_name}.developer.id
  • oauthv2accesstoken.{policy_name}.developer.app.name
  • oauthv2accesstoken.{policy_name}.expires_in
  • oauthv2accesstoken.{policy_name}.status

Política de muestra:

<GetOAuthV2Info name="GetTokenAttributes">
  <AccessToken ref="{variable_name}"/>
</GetOAuthV2Info>

Política de muestra:

<GetOAuthV2Info name="GetTokenAttributes">
<AccessToken>{access_token}</AccessToken>
</GetOAuthV2Info>
Política de obtención de atributos de código de autorización

Política de muestra:

<GetOAuthV2Info name="GetAuthCodeAttributes">
 <AuthorizationCode ref="{variable_name}"/>
</GetOAuthV2Info>

Política de muestra:

<GetOAuthV2Info name="GetAuthCodeAttributes">
    <AuthorizationCode>{authorization_code}</AuthorizationCode>
</GetOAuthV2Info>
Política de obtención de atributos de token de actualización

Política de muestra:

<GetOAuthV2Info name="GetTokenAttributes">
  <RefreshToken ref="{variable_name}"/>
</GetOAuthV2Info>

Política de muestra:

<GetOAuthV2Info name="GetTokenAttributes">
    <RefreshToken>{refresh_token}</RefreshToken>
</GetOAuthV2Info>

Variables de flujo de OAuth 1.0a

Las variables de flujo definidas en esta tabla se propagan cuando se ejecutan las políticas de OAuth correspondientes . Por lo tanto, están disponibles para otras políticas o aplicaciones que se ejecutan en el flujo de proxy de API .

Política de generación de token de solicitud

Política de muestra:

<OAuthV1 name="GenerateRequestToken">
  <Operation>GenerateRequestToken</Operation>
</OAuthV1>

Variables establecidas cuando la operación se realiza correctamente:

  • oauth_token
  • oauth_token_secret
  • oauth_callback_confirmed
  • oauth_response
  • oauth_consumer_key
  • oauth_consumer_secret

Política de generación de token de acceso

Política de muestra:

<OAuthV1 name="GenerateAccessToken">
  <Operation>GenerateAccessToken</Operation>
</OAuthV1>

Variables establecidas cuando la operación se realiza correctamente:

  • oauth_token
  • oauth_token_secret
  • oauth_response
  • oauth_consumer_key
  • oauth_consumer_secret

Política de verificación de token de acceso

Política de muestra:

<OAuthV1 name="VerifyAccessToken">
  <Operation>VerifyAccessToken</Operation>
</OAuthV1>

Variables establecidas cuando la operación se realiza correctamente:

  • oauth_token
  • oauth_token_secret
  • oauth_response
  • oauth_consumer_key
  • oauth_consumer_secret

Política de verificación de clave de API

Política de muestra:

<GetOAuthV1Info name="VerifyApiKey">
  <OAuthConfig>{config_name}</OAuthConfig>*
  <APIKey ref="{variable_name}" />
</GetOAuthV1Info>

* Opcional

Variables establecidas cuando la operación se realiza correctamente:

  • oauth_consumer_key
  • oauth_consumer_secret

Política de verificación de consumidor

Política de muestra:

<GetOAuthV1Info name="VerifyConsumer">
  <OAuthConfig>{config_name}</OAuthConfig>*
  <ConsumerKey ref="{variable_name}" />
</GetOAuthV1Info>

* Opcional

Variables establecidas cuando la operación se realiza correctamente:

  • oauth_consumer_key
  • oauth_consumer_secret

Política de verificación de token

Política de muestra:

<GetOAuthV1Info name="VerifyToken">
  <OAuthConfig>{config_name}</OAuthConfig>*
  <RequestToken ref="{variable_name}" />
</GetOAuthV1Info>

* Opcional

Variables establecidas cuando la operación se realiza correctamente:

  • oauth_token
  • oauth_token_secret