OAuth akış değişkenleri

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
bilgi

Apigee Edge, OAuth 1.0a ve OAuth 2 özelliklerini bir dizi politika kapsamında kapsar. Jetonların ve gizli anahtarların oluşturma, doğrulama ve depolama da dahil olmak üzere yaşam döngüsü yönetimi, arka uç hizmetleriniz adına Apigee Edge tarafından yönetilir.

Bu dokümanda, OAuth politikaları tarafından tanımlanan akış değişkenleri belirtilmektedir. Değişkenler, OAuth akışları için özel davranış uygulamak amacıyla kullanılabilir. OAuth kullanımı için OAuth bölümünü inceleyin.

OAuth 2.0 akış değişkenleri

Bu tabloda tanımlanan akış değişkenleri, ilgili OAuth politikaları yürütüldüğünde doldurulur ve bu nedenle API proxy akışında çalışan diğer politikalar veya uygulamalar tarafından kullanılabilir.

Erişim jetonu politikasını doğrulayın
  • 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ği başlığında iletilmelidir.

Örneğin:

"Authorization: Bearer {PlainText_AccessToken}"

Herhangi bir flow.variable şu şekilde aktarılabilir:

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

İsteğe bağlı alanlar belirtilmezse değerler OAuth 2.0 spesifikasyonuna göre ayıklanır.

Yetkilendirme kodu politikası oluşturun
Başarıyla 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 aktarılabilir:

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

İsteğe bağlı alanlar belirtilmezse değerler OAuth 2.0 spesifikasyonuna göre ayıklanır.

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

Her ikisi de belirtilirse akış değişkeni öncelikli olur.

İzin türleri yetkilendirme kodu, kullanıcı kimlik bilgileri ve istemci kimlik bilgileri için erişim jetonu politikası oluşturma
Başarıyla 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 aktarılabilir:

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

İsteğe bağlı alanlar belirtilmezse değerler OAuth 2.0 spesifikasyonuna göre ayıklanır.

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

Her ikisi de belirtilirse akış değişkeni öncelikli olur.

Örtülü izin türü için erişim jetonu politikası oluşturma
Başarıyla 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 aktarılabilir:

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

İsteğe bağlı alanlar belirtilmezse değerler OAuth 2.0 spesifikasyonuna göre ayıklanır.

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

Her ikisi de belirtilirse akış değişkeni öncelikli olur.

Erişim jetonu politikasını yenile
Başarıyla 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 aktarılabilir:

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

İsteğe bağlı alanlar belirtilmezse değerler OAuth 2.0 spesifikasyonuna göre ayıklanır.

İstemci özellikleri politikasını alma

Ö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ını alma
Başarıyla 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 alma politikası

Ö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ı yürütüldüğünde doldurulur ve bu nedenle API proxy akışında çalışan diğer politikalar veya uygulamalar tarafından kullanılabilir.

İstek jetonu politikası oluşturun

Örnek politika:

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

Başarıyla 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şturma

Örnek politika:

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

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

  • oauth_token
  • oauth_token_secret
  • oauth_response
  • oauth_consumer_key
  • oauth_consumer_secret

Erişim jetonu doğrulama politikası

Örnek politika:

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

Başarıyla 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ıyla 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ıyla 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ıyla ayarlanan değişkenler:

  • oauth_token
  • oauth_token_secret