Variabel alur OAuth

Anda sedang melihat dokumentasi Apigee Edge.
Buka Dokumentasi Apigee X.
info

Apigee Edge mengenkapsulasi kemampuan OAuth 1.0a dan OAuth 2 dalam serangkaian kebijakan. Kehidupan pengelolaan siklus token dan rahasia, termasuk pembuatan, validasi, dan penyimpanan, dikelola oleh Apigee Edge atas nama layanan backend Anda.

Dokumen ini menentukan variabel alur yang ditentukan oleh kebijakan OAuth. Variabel dapat berupa yang digunakan untuk menerapkan perilaku kustom untuk alur OAuth. Untuk penggunaan OAuth, lihat OAuth.

Variabel alur OAuth 2.0

Variabel alur yang ditentukan dalam tabel ini akan diisi saat kebijakan OAuth terkait dieksekusi, sehingga tersedia untuk kebijakan atau aplikasi lain yang dieksekusi di proxy API alur kerja.

Memverifikasi kebijakan token akses
  • 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>*

* Variabel produk API

Contoh kebijakan:

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

Hanya token pemilik yang didukung. Token MAC tidak didukung.

Secara default, token akses harus diteruskan dalam permintaan HTTP Otorisasi {i>header<i}.

Contoh:

"Authorization: Bearer {PlainText_AccessToken}"

Setiap flow.variable dapat diteruskan sebagai:

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

Jika kolom opsional tidak ditentukan, nilai akan diekstrak sesuai OAuth 2.0 spesifikasi pendukung.

Membuat kebijakan kode otorisasi
Variabel yang ditetapkan pada keberhasilan:
  • oauthv2authcode.{policy_name}.code
  • oauthv2authcode.{policy_name}.redirect_uri
  • oauthv2authcode.{policy_name}.scope
  • oauthv2authcode.{policy_name}.client_id

Contoh kebijakan:

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

* Opsional

Setiap flow.variable dapat diteruskan sebagai:

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

Jika kolom opsional tidak ditentukan, nilai akan diekstrak sesuai OAuth 2.0 spesifikasi pendukung.

Nilai atribut diperoleh secara dinamis dari variabel alur yang ditentukan, atau secara statis menggunakan nilai {i> default<i} dalam kebijakan.

Jika keduanya ditentukan, variabel flow akan diprioritaskan.

Membuat kebijakan token akses untuk kode otorisasi, kredensial pengguna, dan jenis pemberian izin kredensial klien
Variabel yang ditetapkan pada keberhasilan:
  • oauthv2accesstoken.{policy_name}.access_token
  • oauthv2accesstoken.{policy_name}.token_type
  • oauthv2accesstoken.{policy_name}.expires_in
  • oauthv2accesstoken.{policy_name}.refresh_token

Contoh kebijakan:

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

* Opsional

Setiap flow.variable dapat diteruskan sebagai:

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

Jika kolom opsional tidak ditentukan, nilai akan diekstrak sesuai OAuth 2.0 spesifikasi pendukung.

Nilai atribut diperoleh secara dinamis dari variabel alur yang ditentukan, atau secara statis menggunakan nilai {i> default<i} dalam kebijakan.

Jika keduanya ditentukan, variabel flow akan diprioritaskan.

Membuat kebijakan token akses untuk jenis Pemberian implisit
Variabel yang ditetapkan pada keberhasilan:
  • oauthv2accesstoken.{policy_name}.access_token
  • oauthv2accesstoken.{policy_name}.token_type
  • oauthv2accesstoken.{policy_name}.expires_in
  • oauthv2accesstoken.{policy_name}.refresh_token

Contoh kebijakan:

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

* Opsional

Setiap flow.variable dapat diteruskan sebagai:

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

Jika kolom opsional tidak ditentukan, nilai akan diekstrak sesuai OAuth 2.0 spesifikasi pendukung.

Nilai atribut diperoleh secara dinamis dari variabel alur yang ditentukan, atau secara statis menggunakan nilai {i> default<i} dalam kebijakan.

Jika keduanya ditentukan, variabel flow akan diprioritaskan.

Muat ulang kebijakan token akses
Variabel yang ditetapkan pada keberhasilan:
  • oauthv2accesstoken.{policy_name}.access_token
  • oauthv2accesstoken.{policy_name}.token_type
  • oauthv2accesstoken.{policy_name}.expires_in
  • oauthv2accesstoken.{policy_name}.refresh_token

Contoh kebijakan:

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

* Opsional

Setiap flow.variable dapat diteruskan sebagai:

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

Jika kolom opsional tidak ditentukan, nilai akan diekstrak sesuai OAuth 2.0 spesifikasi pendukung.

Mendapatkan kebijakan atribut klien

Contoh kebijakan:

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

Contoh kebijakan:

<GetOAuthV2Info name="GetClientAttributes">
  <ClientId>{client_id}</ClientId>
</GetOAuthV2Info>
Mendapatkan kebijakan atribut token akses
Variabel yang ditetapkan pada keberhasilan:
  • 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

Contoh kebijakan:

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

Contoh kebijakan:

<GetOAuthV2Info name="GetTokenAttributes">
<AccessToken>{access_token}</AccessToken>
</GetOAuthV2Info>
Mendapatkan kebijakan atribut kode otorisasi

Contoh kebijakan:

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

Contoh kebijakan:

<GetOAuthV2Info name="GetAuthCodeAttributes">
    <AuthorizationCode>{authorization_code}</AuthorizationCode>
</GetOAuthV2Info>
Mendapatkan kebijakan atribut token refresh

Contoh kebijakan:

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

Contoh kebijakan:

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

Variabel alur OAuth 1.0a

Variabel alur yang ditentukan dalam tabel ini akan diisi saat kebijakan OAuth terkait dieksekusi, sehingga tersedia untuk kebijakan atau aplikasi lain yang dieksekusi di proxy API alur kerja.

Membuat kebijakan token permintaan

Contoh kebijakan:

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

Variabel yang ditetapkan pada keberhasilan:

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

Membuat kebijakan token akses

Contoh kebijakan:

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

Variabel yang ditetapkan pada keberhasilan:

  • oauth_token
  • oauth_token_secret
  • oauth_response
  • oauth_consumer_key
  • oauth_consumer_secret

Verifikasi token akses kebijakan

Contoh kebijakan:

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

Variabel yang ditetapkan pada keberhasilan:

  • oauth_token
  • oauth_token_secret
  • oauth_response
  • oauth_consumer_key
  • oauth_consumer_secret

Memverifikasi kebijakan kunci API

Contoh kebijakan:

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

* Opsional

Variabel yang ditetapkan pada keberhasilan:

  • oauth_consumer_key
  • oauth_consumer_secret

Memverifikasi kebijakan konsumen

Contoh kebijakan:

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

* Opsional

Variabel yang ditetapkan pada keberhasilan:

  • oauth_consumer_key
  • oauth_consumer_secret

Memverifikasi kebijakan token

Contoh kebijakan:

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

* Opsional

Variabel yang ditetapkan pada keberhasilan:

  • oauth_token
  • oauth_token_secret