Vous consultez la documentation Apigee Edge.
Accédez à la
documentation Apigee X. info
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, y compris leur génération, leur validation et leur stockage, 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 peuvent être utilisées pour implémenter 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 .
| Règle de vérification du jeton d'accès |
* Variables de produit d'API |
|
Exemple de règle : <OAuthV2 name="VerifyAccessToken"> <Operation>VerifyAccessToken</Operation> <Scope>space-separated-scopes</Scope>* <AccessToken>flow.variable</AccessToken>* <AccessTokenPrefix>Bearer</AccessTokenPrefix>* </OAuthV2> Seuls les jetons porteurs sont acceptés. Les jetons MAC ne sont pas acceptés. Par défaut, le jeton d'accès doit être transmis dans l'en-tête de requête HTTP d'autorisation. Exemple :
Toute
Si les champs facultatifs ne sont pas spécifiés, les valeurs sont extraites conformément à la spécification OAuth 2.0. |
| Règle de génération du code d'autorisation |
Variables définies en cas de réussite :
|
|
Exemple de règle : <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
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 à partir de la variable de flux spécifiée ou de manière statique à l'aide d'une valeur par défaut dans la règle. Si les deux sont spécifiés, la variable de flux est prioritaire. |
| Règle de génération du jeton d'accès pour les types d'attribution code d'autorisation, identifiants utilisateur et identifiants client |
Variables définies en cas de réussite :
|
|
Exemple de règle : <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
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 à partir de la variable de flux spécifiée ou de manière statique à l'aide d'une valeur par défaut dans la règle. Si les deux sont spécifiés, la variable de flux est prioritaire. |
| Règle de génération du jeton d'accès pour le type d'attribution implicite |
Variables définies en cas de réussite :
|
|
Exemple de règle : <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
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 à partir de la variable de flux spécifiée ou de manière statique à l'aide d'une valeur par défaut dans la règle. Si les deux sont spécifiés, la variable de flux est prioritaire. |
| Règle d'actualisation du jeton d'accès |
Variables définies en cas de réussite :
|
|
Exemple de règle : <OAuthV2 name="RefreshAccessToken"> <Operation>RefreshAccessToken</Operation> <ExpiresIn>1000<ExpiresIn> <GrantType>flow.variable</GrantType>* <RefreshToken>flow.variable</RefreshToken>* </OAuthV2> * Facultatif Toute
Si les champs facultatifs ne sont pas spécifiés, les valeurs sont extraites conformément à la spécification OAuth 2.0. |
| Règle d'obtention des attributs client |
|
Exemple de règle : <GetOAuthV2Info name="GetClientAttributes"> <ClientId ref="{variable_name}"/> </GetOAuthV2Info> Exemple de règle : <GetOAuthV2Info name="GetClientAttributes">
<ClientId>{client_id}</ClientId>
</GetOAuthV2Info> |
| Règle d'obtention des attributs du jeton d'accès |
Variables définies en cas de réussite :
|
|
Exemple de règle : <GetOAuthV2Info name="GetTokenAttributes"> <AccessToken ref="{variable_name}"/> </GetOAuthV2Info> Exemple de règle : <GetOAuthV2Info name="GetTokenAttributes">
<AccessToken>{access_token}</AccessToken>
</GetOAuthV2Info> |
| Règle d'obtention des attributs du code d'autorisation |
|
Exemple de règle : <GetOAuthV2Info name="GetAuthCodeAttributes"> <AuthorizationCode ref="{variable_name}"/> </GetOAuthV2Info> Exemple de règle : <GetOAuthV2Info name="GetAuthCodeAttributes">
<AuthorizationCode>{authorization_code}</AuthorizationCode>
</GetOAuthV2Info> |
| Règle d'obtention des attributs du jeton d'actualisation |
|
Exemple de règle : <GetOAuthV2Info name="GetTokenAttributes"> <RefreshToken ref="{variable_name}"/> </GetOAuthV2Info> Exemple de règle : <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 .
Règle de génération du jeton de requête
Exemple de règle :
<OAuthV1 name="GenerateRequestToken"> <Operation>GenerateRequestToken</Operation> </OAuthV1>
Variables définies en cas de réussite :
oauth_tokenoauth_token_secretoauth_callback_confirmedoauth_responseoauth_consumer_keyoauth_consumer_secret
Règle de génération du jeton d'accès
Exemple de règle :
<OAuthV1 name="GenerateAccessToken"> <Operation>GenerateAccessToken</Operation> </OAuthV1>
Variables définies en cas de réussite :
oauth_tokenoauth_token_secretoauth_responseoauth_consumer_keyoauth_consumer_secret
Règle de vérification du jeton d'accès
Exemple de règle :
<OAuthV1 name="VerifyAccessToken"> <Operation>VerifyAccessToken</Operation> </OAuthV1>
Variables définies en cas de réussite :
oauth_tokenoauth_token_secretoauth_responseoauth_consumer_keyoauth_consumer_secret
Règle de vérification de la clé API
Exemple de règle :
<GetOAuthV1Info name="VerifyApiKey"> <OAuthConfig>{config_name}</OAuthConfig>* <APIKey ref="{variable_name}" /> </GetOAuthV1Info>
* Facultatif
Variables définies en cas de réussite :
oauth_consumer_keyoauth_consumer_secret
Règle de vérification du consommateur
Exemple de règle :
<GetOAuthV1Info name="VerifyConsumer"> <OAuthConfig>{config_name}</OAuthConfig>* <ConsumerKey ref="{variable_name}" /> </GetOAuthV1Info>
* Facultatif
Variables définies en cas de réussite :
oauth_consumer_keyoauth_consumer_secret
Règle de vérification du jeton
Exemple de règle :
<GetOAuthV1Info name="VerifyToken"> <OAuthConfig>{config_name}</OAuthConfig>* <RequestToken ref="{variable_name}" /> </GetOAuthV1Info>
* Facultatif
Variables définies en cas de réussite :
oauth_tokenoauth_token_secret