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 memberikannya ke aplikasi yang diautentikasi. Saat pembuatan, Edge menyimpan token dan kode tersebut. Selanjutnya, saat menerima permintaan API masuk yang berisi token atau kode ini, Edge menggunakan informasi yang disimpan untuk mengizinkan permintaan.
Saat membuat artefak OAuth ini, Edge juga melampirkan metadata ke token atau kode. Misalnya, token akses dikaitkan dengan pasangan nama/nilai yang menentukan waktu habis masa berlaku, aplikasi dan developer terkait, serta informasi lainnya.
Representasi JSON token akses Edge akan 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 Kustom ke Token OAuth
Terkadang ada baiknya melampirkan metadata kustom ke token akses. Misalnya, Anda mungkin ingin 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 "atribut kustom". Selanjutnya, saat token diverifikasi dalam cakupan permintaan API, data tersebut akan tersedia untuk proxy API melalui variabel konteks. Proxy API dapat membuat keputusan otorisasi atau perutean terperinci berdasarkan data kustom yang dilampirkan ke token.
Untuk melampirkan data arbitrer ke token, gunakan elemen <Attributes> di
kebijakan OAuthV2. Anda dapat
menentukan nama atribut kustom, dan nilai yang harus diambil. Misalnya, berikut adalah
konfigurasi kebijakan yang menghasilkan token, dan melampirkan atribut kustom bernama "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 dapat menentukan beberapa atribut kustom, dan Anda dapat melampirkannya secara implisit ke
kode otorisasi (<Operation>GenerateAuthorizationCode</Operation>) atau
token (<Operation>GenerateAccessToken</Operation>) pada saat
pembuatan.
Jika display disetel ke true (default), atribut kustom akan
ditampilkan dalam respons, yang dapat dilihat oleh aplikasi, atau diteruskan ke pengguna akhir.
Jika display disetel ke false, atribut kustom akan disimpan di penyimpanan data, tetapi tidak ditampilkan dalam pesan respons. Dalam kedua kasus tersebut, data kustom tersedia
untuk kebijakan dalam Proxy API, setelah token diverifikasi.
Untuk mengetahui informasi selengkapnya tentang opsi display
Menampilkan atau menyembunyikan atribut kustom dalam respons.
Mendapatkan Atribut Kustom saat Runtime
Saat ada panggilan ke OAuthV2/VerifyAccessToken,
Apigee Edge memverifikasi token dengan mencarinya di penyimpanan token. Apigee Edge kemudian mengisi
sekumpulan variabel konteks yang berisi informasi tentang token. Ini mencakup:
- organization_name
- developer.id
- developer.app.name
- client_id
- grant_type
- token_type
- access_token
- issued_at
- expires_in //--dalam detik
- status
- cakupan
- apiproduct.name*
Jika ada atribut kustom pada token, atribut kustom tersebut akan tersedia di
variabel konteks dengan nama accesstoken.{custom_attribute}. Misalnya,
anggap token dikeluarkan dari kebijakan yang ditunjukkan di atas. Setelah memverifikasi token tersebut, akan ada variabel konteks tambahan bernama accesstoken.tenant_list, yang berisi nilai yang disimpan pada saat token dibuat.
Kebijakan atau kondisi kemudian dapat merujuk ke variabel ini dan mengubah perilaku berdasarkan nilai yang disimpan di dalamnya.
Menetapkan dan Memperbarui Atribut Kustom saat Runtime
Dalam beberapa situasi, Anda ingin Proxy API memperbarui metadata yang terkait dengan token akses saat runtime saat panggilan API sedang diproses di Apigee Edge. Untuk membantu hal ini, Apigee menyediakan kebijakan untuk mendapatkan dan menyetel atribut token. Untuk mengetahui informasi selengkapnya, lihat kebijakan Get OAuth V2 Info dan Set OAuth V2 Info.
AccessToken harus merujuk ke variabel yang
berisi token akses.
Anda juga dapat menggunakan Edge API untuk memperbarui atribut kustom yang dilampirkan ke token. Lihat dokumentasi API untuk metode Perbarui Token Akses OAuth 2.0.