Variables de flujo de OAuth

Estás viendo la documentación de Apigee Edge.
Ve a la Documentación de Apigee X.
información

Apigee Edge encapsula las capacidades de OAuth 1.0a y OAuth 2 en un conjunto de políticas. Vida la administración del ciclo de tokens y secretos, incluida la generación, la validación y el almacenamiento, por Apigee Edge 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 pueden ser que se usa para implementar un comportamiento personalizado en flujos de OAuth. Para obtener información sobre 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.

Verifica la política de tokens 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 de 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 del portador. No se admiten tokens de MAC.

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

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 OAuth 2.0. especificación.

Generar política de código de autorización
Variables establecidas con éxito:
  • 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 OAuth 2.0. especificación.

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

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

Generar una política de token de acceso para los tipos de otorgamiento, el código de autorización, las credenciales de usuario y credenciales de cliente
Variables establecidas con éxito:
  • 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 OAuth 2.0. especificación.

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

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

Genera una política de token de acceso para el tipo de concesión implícito
Variables establecidas con éxito:
  • 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 OAuth 2.0. especificación.

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

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

Actualizar política de tokens de acceso
Variables establecidas con éxito:
  • 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 OAuth 2.0. especificación.

Obtener política 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>
Obtén la política de atributos de token de acceso
Variables establecidas con éxito:
  • 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>
Obtén la política de atributos del 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>
Obtén la política de atributos del 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.

Generar política de token de solicitud

Política de muestra:

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

Variables establecidas con éxito:

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

Generar política de token de acceso

Política de muestra:

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

Variables establecidas con éxito:

  • oauth_token
  • oauth_token_secret
  • oauth_response
  • oauth_consumer_key
  • oauth_consumer_secret

Verificación del token de acceso política

Política de muestra:

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

Variables establecidas con éxito:

  • oauth_token
  • oauth_token_secret
  • oauth_response
  • oauth_consumer_key
  • oauth_consumer_secret

Verifica la política de clave de API

Política de muestra:

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

* Opcional

Variables establecidas con éxito:

  • oauth_consumer_key
  • oauth_consumer_secret

Verifica la política del consumidor

Política de muestra:

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

* Opcional

Variables establecidas con éxito:

  • oauth_consumer_key
  • oauth_consumer_secret

Verifica la política de tokens

Política de muestra:

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

* Opcional

Variables establecidas con éxito:

  • oauth_token
  • oauth_token_secret