Vous consultez la documentation d'Apigee Edge.
Consultez la
documentation Apigee X. en savoir plus
Apigee Edge encapsule les fonctionnalités OAuth 1.0a et OAuth 2 dans un ensemble de règles. La gestion du cycle de vie des jetons et des secrets (génération, validation et stockage, par exemple) est gérée par Apigee Edge pour le compte de vos services de backend.
Ce document spécifie les variables de flux définies par les règles OAuth. Les variables permettent de mettre en œuvre un comportement personnalisé pour les flux OAuth. Pour en savoir plus sur l'utilisation d'OAuth, consultez OAuth.
Variables de flux OAuth 2.0
Les variables de flux définies dans ce tableau sont renseignées lorsque les règles OAuth respectives sont exécutées. Elles sont donc disponibles pour d'autres règles ou applications exécutées dans le flux de proxy d'API.
Valider la stratégie de jeton d'accès |
* Variables de produits d'API |
Exemples de règles: <OAuthV2 name="VerifyAccessToken"> <Operation>VerifyAccessToken</Operation> <Scope>space-separated-scopes</Scope>* <AccessToken>flow.variable</AccessToken>* <AccessTokenPrefix>Bearer</AccessTokenPrefix>* </OAuthV2> Seuls les jetons de support sont acceptés. Les jetons MAC ne sont pas compatibles. Par défaut, le jeton d'accès doit être transmis dans l'en-tête de requête HTTP d'autorisation. Exemple :
Toute valeur
Si les champs facultatifs ne sont pas spécifiés, les valeurs sont extraites conformément à la spécification OAuth 2.0. |
Générer une stratégie de code d'autorisation |
Variables définies en cas de réussite :
|
Exemples de règles: <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> * Facultatif Toute valeur
Si les champs facultatifs ne sont pas spécifiés, les valeurs sont extraites conformément à la spécification OAuth 2.0. Les valeurs d'attribut sont dérivées de manière dynamique de la variable de flux spécifiée ou statiquement à l'aide d'une valeur par défaut dans la règle. Si les deux sont spécifiées, la variable de flux est prioritaire. |
Générer une stratégie de jetons d'accès pour les types d'attribution, le code d'autorisation, les identifiants utilisateur et les identifiants client |
Variables définies en cas de réussite :
|
Exemples de règles: <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> * Facultatif Toute valeur
Si les champs facultatifs ne sont pas spécifiés, les valeurs sont extraites conformément à la spécification OAuth 2.0. Les valeurs d'attribut sont dérivées de manière dynamique de la variable de flux spécifiée ou statiquement à l'aide d'une valeur par défaut dans la règle. Si les deux sont spécifiées, la variable de flux est prioritaire. |
Générer une règle de jetons d'accès pour le type d'attribution implicite |
Variables définies en cas de réussite :
|
Exemples de règles: <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> * Facultatif Toute valeur
Si les champs facultatifs ne sont pas spécifiés, les valeurs sont extraites conformément à la spécification OAuth 2.0. Les valeurs d'attribut sont dérivées de manière dynamique de la variable de flux spécifiée ou statiquement à l'aide d'une valeur par défaut dans la règle. Si les deux sont spécifiées, la variable de flux est prioritaire. |
Actualiser la stratégie de jeton d'accès |
Variables définies en cas de réussite :
|
Exemples de règles: <OAuthV2 name="RefreshAccessToken"> <Operation>RefreshAccessToken</Operation> <ExpiresIn>1000<ExpiresIn> <GrantType>flow.variable</GrantType>* <RefreshToken>flow.variable</RefreshToken>* </OAuthV2> * Facultatif Toute valeur
Si les champs facultatifs ne sont pas spécifiés, les valeurs sont extraites conformément à la spécification OAuth 2.0. |
Obtenir la règle sur les attributs du client |
Exemples de règles: <GetOAuthV2Info name="GetClientAttributes"> <ClientId ref="{variable_name}"/> </GetOAuthV2Info> Exemples de règles: <GetOAuthV2Info name="GetClientAttributes"> <ClientId>{client_id}</ClientId> </GetOAuthV2Info> |
Obtenir la règle sur les attributs de jeton d'accès |
Variables définies en cas de réussite :
|
Exemples de règles: <GetOAuthV2Info name="GetTokenAttributes"> <AccessToken ref="{variable_name}"/> </GetOAuthV2Info> Exemples de règles: <GetOAuthV2Info name="GetTokenAttributes"> <AccessToken>{access_token}</AccessToken> </GetOAuthV2Info> |
Obtenir une règle pour les attributs de code d'autorisation |
Exemples de règles: <GetOAuthV2Info name="GetAuthCodeAttributes"> <AuthorizationCode ref="{variable_name}"/> </GetOAuthV2Info> Exemples de règles: <GetOAuthV2Info name="GetAuthCodeAttributes"> <AuthorizationCode>{authorization_code}</AuthorizationCode> </GetOAuthV2Info> |
Obtenir une règle sur les attributs de jeton d'actualisation |
Exemples de règles: <GetOAuthV2Info name="GetTokenAttributes"> <RefreshToken ref="{variable_name}"/> </GetOAuthV2Info> Exemples de règles: <GetOAuthV2Info name="GetTokenAttributes"> <RefreshToken>{refresh_token}</RefreshToken> </GetOAuthV2Info> |
Variables de flux OAuth 1.0a
Les variables de flux définies dans ce tableau sont renseignées lorsque les règles OAuth respectives sont exécutées. Elles sont donc disponibles pour d'autres règles ou applications exécutées dans le flux de proxy d'API.
Générer une stratégie de jetons de requête
Exemples de règles:
<OAuthV1 name="GenerateRequestToken"> <Operation>GenerateRequestToken</Operation> </OAuthV1>
Variables définies en fonction de la réussite:
oauth_token
oauth_token_secret
oauth_callback_confirmed
oauth_response
oauth_consumer_key
oauth_consumer_secret
Générer une stratégie de jeton d'accès
Exemples de règles:
<OAuthV1 name="GenerateAccessToken"> <Operation>GenerateAccessToken</Operation> </OAuthV1>
Variables définies en fonction de la réussite:
oauth_token
oauth_token_secret
oauth_response
oauth_consumer_key
oauth_consumer_secret
Stratégie de validation des jetons d'accès
Exemples de règles:
<OAuthV1 name="VerifyAccessToken"> <Operation>VerifyAccessToken</Operation> </OAuthV1>
Variables définies en fonction de la réussite:
oauth_token
oauth_token_secret
oauth_response
oauth_consumer_key
oauth_consumer_secret
Vérifier la stratégie des clés API
Exemples de règles:
<GetOAuthV1Info name="VerifyApiKey"> <OAuthConfig>{config_name}</OAuthConfig>* <APIKey ref="{variable_name}" /> </GetOAuthV1Info>
* Facultatif
Variables définies en fonction de la réussite:
oauth_consumer_key
oauth_consumer_secret
Vérifier les règles relatives aux consommateurs
Exemples de règles:
<GetOAuthV1Info name="VerifyConsumer"> <OAuthConfig>{config_name}</OAuthConfig>* <ConsumerKey ref="{variable_name}" /> </GetOAuthV1Info>
* Facultatif
Variables définies en fonction de la réussite:
oauth_consumer_key
oauth_consumer_secret
Vérifier la stratégie de jeton
Exemples de règles:
<GetOAuthV1Info name="VerifyToken"> <OAuthConfig>{config_name}</OAuthConfig>* <RequestToken ref="{variable_name}" /> </GetOAuthV1Info>
* Facultatif
Variables définies en fonction de la réussite:
oauth_token
oauth_token_secret