Anda sedang melihat dokumentasi Apigee Edge.
Buka
Dokumentasi Apigee X. info
Tentang Metadata Token
Apigee Edge membuat token akses OAuth, token refresh, dan kode otorisasi, serta menyalurkannya ke aplikasi yang diautentikasi. Pada waktu pembuatan, Edge menyimpan token dan kode tersebut. Kemudian, ketika Edge menerima permintaan API masuk yang membawa token atau kode ini, Edge menggunakan informasi yang disimpan untuk mengotorisasi permintaan.
Saat membuat artefak OAuth ini, Edge juga melampirkan metadata ke token atau kode. Sebagai Misalnya, token akses dikaitkan dengan pasangan nama/nilai yang menentukan waktu habis masa berlaku, aplikasi dan developer terkait, serta informasi lainnya.
Representasi JSON dari token akses Edge terlihat seperti berikut:
{ "issued_at" : "1372170159093", "application_name" : "ccd1803b-b557-4520-bd62-ddd3abf8e501", "scope" : "READ", "status" : "approved", "api_product_list" : "[Product1,Product2]", "api_product_list_json" : ["Product1", "Product2"], "expires_in" : "3599", //--in seconds "developer.email" : "joe@weathersample.com", "organization_id" : "0", "refresh_token" : "82XMXgDyHTpFyXOaApj8C2AGIPnN2IZe", "client_id" : "deAVedE0W9Z9U35PAMaAJYphBJCGdrND", "access_token" : "shTUmeI1geSKin0TODcGLXBNe9vp", "organization_name" : "apifactory", "refresh_count" : "0" }
Menambahkan Atribut Khusus ke Token OAuth
Kadang-kadang, melampirkan {i>metadata<i} khusus ke token akses akan berguna. Misalnya, Anda mungkin ingin untuk menambahkan nama pengguna, keanggotaan grup, atau peran untuk pengguna, ID pelanggan, ID sesi, atau informasi arbitrer lainnya ke token. Di Apigee Edge, data ini disebut "custom atribut." Selanjutnya, ketika token diverifikasi dalam cakupan permintaan API, data disediakan untuk proxy API melalui variabel konteks. Proxy API dapat membuat otorisasi atau keputusan perutean terperinci berdasarkan data khusus yang dilampirkan pada sebelumnya yang benar.
Untuk melampirkan data arbitrer ke token, gunakan elemen <Attributes>
di
kebijakan OAuthV2. Anda dapat
menentukan nama atribut khusus, dan nilai yang harus diambil. Sebagai contoh, berikut adalah
konfigurasi kebijakan yang menghasilkan token, dan menyertakan atribut khusus yang disebut "tenant_list"
ke token:
<OAuthV2 name="GenerateAccessToken"> <Operation>GenerateAccessToken</Operation> <ExpiresIn>600000</ExpiresIn> <GenerateResponse /> <SupportedGrantTypes> <GrantType>client_credentials</GrantType> </SupportedGrantTypes> <GrantType>request.queryparam.grant_type</GrantType> <Attributes> <Attribute name="tenant_list" ref="tenant_list_retrieved_from_external_service" display="false"/> </Attributes> </OAuthV2>
Anda bisa menetapkan beberapa atribut khusus, dan bisa melampirkannya secara implisit ke
kode otorisasi (<Operation>GenerateAuthorizationCode</Operation>
) atau
token (<Operation>GenerateAccessToken</Operation>
) pada saat
pembuatan teks.
Jika display
ditetapkan ke true
(default), atribut khusus akan
yang ditampilkan dalam respons, tempatnya dapat dilihat oleh aplikasi, atau diteruskan ke pengguna akhir.
Jika display
ditetapkan ke false
, atribut khusus disimpan dalam data
disimpan, tetapi tidak dikembalikan dalam pesan respons. Dalam kedua kasus tersebut, data kustom tersedia
kebijakan dalam Proxy API, setelah token diverifikasi.
Untuk informasi selengkapnya tentang opsi display
Menampilkan atau menyembunyikan atribut khusus dalam respons.
Mendapatkan Atribut Khusus di Runtime
Saat ada panggilan ke OAuthV2/VerifyAccessToken
,
Apigee Edge memverifikasi token dengan mencarinya di penyimpanan token. Apigee Edge kemudian mengisi
yang berisi informasi tentang token. Ini mencakup:
- organization_name
- developer.id
- developer.app.name
- client_id
- grant_type
- token_type
- access_token
- issued_at
- berakhir_dalam //--dalam detik
- status
- cakupan
- apiproduct.name*
Jika ada atribut khusus pada token, atribut khusus tersebut tersedia di
variabel konteks dengan nama accesstoken.{custom_attribute}
. Misalnya,
misalkan token dikeluarkan dari
kebijakan yang ditunjukkan di atas. Setelah memverifikasi token tersebut, akan ada
menjadi variabel konteks tambahan bernama accesstoken.tenant_list
, yang berisi
pada saat token dibuat.
Kebijakan atau kondisi dapat merujuk ke variabel tersebut dan memodifikasi perilaku berdasarkan nilai yang disimpan di dalamnya.
Menyetel dan Memperbarui Atribut Khusus di Runtime
Dalam beberapa situasi, Anda mungkin ingin Proxy API memperbarui metadata yang terkait dengan token akses saat runtime ketika panggilan API sedang diproses di Apigee Edge. Untuk melakukannya, Apigee menyediakan kebijakan untuk mendapatkan dan menetapkan atribut token. Untuk informasi selengkapnya, lihat Dapatkan Info OAuth V2 policy dan Set OAuth Kebijakan Info V2.
AccessToken
harus merujuk ke variabel yang
berisi token akses.
Anda juga dapat menggunakan Edge API untuk memperbarui atribut khusus yang dilampirkan ke sebuah token. Melihat API dokumentasi untuk dokumentasi Update OAuth 2.0 Access Token.