OAuth akış değişkenleri

Apigee Edge belgelerini görüntülüyorsunuz.
. Git: Apigee X belgeleri.
bilgi

Apigee Edge, OAuth 1.0a ve OAuth 2 özelliklerini bir dizi politika içinde barındırır. Yaşam Oluşturma, doğrulama ve depolama dahil olmak üzere jeton ve gizli anahtarların döngü yönetimi arka uç hizmetleriniz adına Apigee Edge tarafından sağlanır.

Bu belge, OAuth politikaları tarafından tanımlanan akış değişkenlerini belirtir. Değişkenler OAuth akışları için özel davranışı uygulamak amacıyla kullanılır. OAuth kullanımı için OAuth sayfasına göz atın.

OAuth 2.0 akış değişkenleri

Bu tabloda tanımlanan akış değişkenleri, ilgili OAuth politikaları geçerli olduğunda doldurulur çalıştırılabilir ve bu nedenle API proxy'sinde yürütülen diğer politikalar veya uygulamalar akışı sağlar.

Erişim jetonu politikasını doğrulama
  • 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>*

* API ürün değişkenleri

Örnek politika:

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

Yalnızca hamiline ait jetonlar desteklenir. MAC jetonları desteklenmez.

Varsayılan olarak, erişim jetonu Yetkilendirme HTTP isteğinde iletilmelidir kullanabilirsiniz.

Örneğin:

"Authorization: Bearer {PlainText_AccessToken}"

Herhangi bir flow.variable şu şekilde iletilebilir:

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

İsteğe bağlı alanlar belirtilmemişse değerler, OAuth 2.0'a göre ayıklanır. bakın.

Yetkilendirme kodu politikası oluştur
Başarıda ayarlanan değişkenler:
  • oauthv2authcode.{policy_name}.code
  • oauthv2authcode.{policy_name}.redirect_uri
  • oauthv2authcode.{policy_name}.scope
  • oauthv2authcode.{policy_name}.client_id

Örnek politika:

<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>

* İsteğe bağlı

Herhangi bir flow.variable şu şekilde iletilebilir:

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

İsteğe bağlı alanlar belirtilmemişse değerler, OAuth 2.0'a göre ayıklanır. bakın.

Özellik değerleri, belirtilen akış değişkeninden dinamik olarak türetilir veya bir varsayılan değer kullanarak statik olarak ayarlayabilirsiniz.

İkisi de belirtilirse akış değişkeni öncelikli olur.

İzin türleri yetkilendirme kodu, kullanıcı kimlik bilgileri ve istemci kimlik bilgileri
Başarıda ayarlanan değişkenler:
  • oauthv2accesstoken.{policy_name}.access_token
  • oauthv2accesstoken.{policy_name}.token_type
  • oauthv2accesstoken.{policy_name}.expires_in
  • oauthv2accesstoken.{policy_name}.refresh_token

Örnek politika:

<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>

* İsteğe bağlı

Herhangi bir flow.variable şu şekilde iletilebilir:

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

İsteğe bağlı alanlar belirtilmemişse değerler, OAuth 2.0'a göre ayıklanır. bakın.

Özellik değerleri, belirtilen akış değişkeninden dinamik olarak türetilir veya bir varsayılan değer kullanarak statik olarak ayarlayabilirsiniz.

İkisi de belirtilirse akış değişkeni öncelikli olur.

Dolaylı izin türü için erişim jetonu politikası oluşturma
Başarıda ayarlanan değişkenler:
  • oauthv2accesstoken.{policy_name}.access_token
  • oauthv2accesstoken.{policy_name}.token_type
  • oauthv2accesstoken.{policy_name}.expires_in
  • oauthv2accesstoken.{policy_name}.refresh_token

Örnek politika:

<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>

* İsteğe bağlı

Herhangi bir flow.variable şu şekilde iletilebilir:

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

İsteğe bağlı alanlar belirtilmemişse değerler, OAuth 2.0'a göre ayıklanır. bakın.

Özellik değerleri, belirtilen akış değişkeninden dinamik olarak türetilir veya bir varsayılan değer kullanarak statik olarak ayarlayabilirsiniz.

İkisi de belirtilirse akış değişkeni öncelikli olur.

Erişim jetonu politikasını yenile
Başarıda ayarlanan değişkenler:
  • oauthv2accesstoken.{policy_name}.access_token
  • oauthv2accesstoken.{policy_name}.token_type
  • oauthv2accesstoken.{policy_name}.expires_in
  • oauthv2accesstoken.{policy_name}.refresh_token

Örnek politika:

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

* İsteğe bağlı

Herhangi bir flow.variable şu şekilde iletilebilir:

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

İsteğe bağlı alanlar belirtilmemişse değerler, OAuth 2.0'a göre ayıklanır. bakın.

Müşteri özellikleri politikasını alın

Örnek politika:

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

Örnek politika:

<GetOAuthV2Info name="GetClientAttributes">
  <ClientId>{client_id}</ClientId>
</GetOAuthV2Info>
Erişim jetonu özellikleri politikası alma
Başarıda ayarlanan değişkenler:
  • 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

Örnek politika:

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

Örnek politika:

<GetOAuthV2Info name="GetTokenAttributes">
<AccessToken>{access_token}</AccessToken>
</GetOAuthV2Info>
Yetkilendirme kodu özellikleri politikasını alma

Örnek politika:

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

Örnek politika:

<GetOAuthV2Info name="GetAuthCodeAttributes">
    <AuthorizationCode>{authorization_code}</AuthorizationCode>
</GetOAuthV2Info>
Yenileme jetonu özellikleri politikasını alma

Örnek politika:

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

Örnek politika:

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

OAuth 1.0a akış değişkenleri

Bu tabloda tanımlanan akış değişkenleri, ilgili OAuth politikaları geçerli olduğunda doldurulur çalıştırılabilir ve bu nedenle API proxy'sinde yürütülen diğer politikalar veya uygulamalar akışı sağlar.

İstek jetonu politikası oluşturma

Örnek politika:

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

Başarıda ayarlanan değişkenler:

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

Erişim jetonu politikası oluşturun

Örnek politika:

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

Başarıda ayarlanan değişkenler:

  • oauth_token
  • oauth_token_secret
  • oauth_response
  • oauth_consumer_key
  • oauth_consumer_secret

Erişim jetonu doğrulaması politika

Örnek politika:

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

Başarıda ayarlanan değişkenler:

  • oauth_token
  • oauth_token_secret
  • oauth_response
  • oauth_consumer_key
  • oauth_consumer_secret

API anahtarı politikasını doğrulayın

Örnek politika:

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

* İsteğe bağlı

Başarıda ayarlanan değişkenler:

  • oauth_consumer_key
  • oauth_consumer_secret

Tüketici politikasını doğrulayın

Örnek politika:

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

* İsteğe bağlı

Başarıda ayarlanan değişkenler:

  • oauth_consumer_key
  • oauth_consumer_secret

Jeton politikasını doğrulayın

Örnek politika:

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

* İsteğe bağlı

Başarıda ayarlanan değişkenler:

  • oauth_token
  • oauth_token_secret