Anda melihat dokumentasi Apigee Edge.
Buka
dokumentasi Apigee X. info
Apigee Edge menyediakan framework OAuth 2.0 untuk mengamankan API. OAuth2 adalah salah satu skema autentikasi dan otorisasi berbasis token standar terbuka yang paling populer. Skema ini memungkinkan aplikasi klien mengakses API atas nama pengguna tanpa mengharuskan pengguna mengungkapkan nama pengguna dan sandi mereka.
Apigee Edge memungkinkan developer membuat token akses dan/atau refresh dengan menerapkan salah satu dari empat jenis pemberian izin OAuth2 - kredensial klien, sandi, implisit, dan kode otorisasi - menggunakan kebijakan OAuthv2. Aplikasi klien menggunakan token akses untuk menggunakan API yang aman. Setiap token akses memiliki waktu habis masa berlakunya sendiri, yang dapat ditetapkan dalam kebijakan OAuthv2.
Token refresh secara opsional dikeluarkan bersama dengan token akses dengan beberapa jenis pemberian izin. Token refresh digunakan untuk mendapatkan token akses baru yang valid setelah token akses asli habis masa berlakunya atau dicabut. Waktu habis masa berlaku untuk token refresh juga dapat ditetapkan dalam kebijakan OAuthv2.
Antipola
Menetapkan waktu habis masa berlaku yang lama untuk token akses dan/atau token refresh dalam kebijakan OAuthv2 akan menyebabkan akumulasi token OAuth dan peningkatan penggunaan ruang disk pada node Cassandra.
Contoh kebijakan OAuthV2 berikut menunjukkan waktu habis masa berlaku yang lama, yaitu 200 hari untuk token refresh:
<OAuthV2 name="GenerateAccessToken"> <Operation>GenerateAccessToken</Operation> <ExpiresIn>1800000</ExpiresIn> <!-- 30 minutes --> <RefreshTokenExpiresIn>17280000000</RefreshTokenExpiresIn> <!-- 200 days --> <SupportedGrantTypes> <GrantType>password</GrantType> </SupportedGrantTypes> <GenerateResponse enabled="true"/> </OAuthV2>
Pada contoh di atas:
- Token akses ditetapkan dengan waktu habis masa berlaku yang cukup rendah, yaitu 30 menit.
- Token refresh ditetapkan dengan waktu habis masa berlaku yang sangat lama, yaitu 200 hari.
- Jika traffic ke API ini adalah 10 permintaan/detik, API ini dapat menghasilkan sebanyak 864.000 token dalam sehari.
- Karena token refresh hanya akan habis masa berlakunya setelah 200 hari, token tersebut akan tetap ada di penyimpanan data (Cassandra) dalam waktu yang lama sehingga menyebabkan akumulasi berkelanjutan.
Dampak
- Menyebabkan pertumbuhan signifikan penggunaan ruang disk pada penyimpanan data (Cassandra).
- Untuk pengguna Cloud Pribadi, hal ini dapat meningkatkan biaya penyimpanan, atau dalam kasus terburuk, disk dapat menjadi penuh dan menyebabkan error runtime atau gangguan.
Praktik Terbaik
Gunakan waktu habis masa berlaku yang lebih rendah dan sesuai untuk token akses dan refresh OAuth, bergantung pada persyaratan keamanan spesifik Anda , sehingga token tersebut dapat dihapus dengan cepat dan dengan demikian menghindari akumulasi.
Tetapkan waktu habis masa berlaku untuk token refresh sedemikian rupa sehingga berlaku untuk jangka waktu yang sedikit lebih lama daripada token akses. Misalnya, jika Anda menetapkan 30 menit untuk token akses, lalu menetapkan 60 menit untuk token refresh.
Hal ini memastikan bahwa:
- Ada cukup waktu untuk menggunakan token refresh guna membuat token akses dan refresh baru setelah token akses habis masa berlakunya.
- Token refresh akan habis masa berlakunya beberapa saat kemudian dan dapat dihapus tepat waktu untuk menghindari akumulasi.