Coding 25 Jun 2025

OAuth 2.0: Nggak Sesulit Kedengarannya, Kok!

OAuth 2.0: Nggak Sesulit Kedengarannya, Kok!

Halo, saya Zona Sosmed, sedikit nyemplung di dunia keamanan aplikasi dan pernak-pernik autentikasi. Pernah denger OAuth 2.0? Mungkin kedengeran rumit, tapi sebenernya konsepnya cukup sederhana kok. Yuk, kita bedah bareng!

Apa Sih OAuth 2.0 Itu?

Anggap aja gini, kamu mau pesen makanan lewat aplikasi GoFood. GoFood butuh akses ke akun Google kamu biar bisa ambil alamat dan kontak. Tapi, kamu nggak mau kan GoFood tau password Google kamu? Nah, OAuth 2.0 ini kayak petugas keamanan yang ngasih GoFood izin buat "pinjam" informasi tertentu dari Google, tanpa ngasih tau password kamu.

Secara teknis, OAuth 2.0 itu sebuah authorization framework. Artinya, dia ngasih cara buat aplikasi (misalnya GoFood) dapetin akses terbatas ke sumber daya (misalnya data akun Google kamu) atas nama pengguna.

Kenapa Kita Butuh OAuth 2.0?

Dulu, sebelum OAuth 2.0, aplikasi sering minta username dan password langsung ke pengguna. Ini bahaya banget! Kalo aplikasinya jahat, password kamu bisa dicuri. OAuth 2.0 hadir sebagai solusi yang lebih aman dan terkontrol. Menurut oauth.net, OAuth 2.0 adalah standar industri untuk delegasi akses.

Gimana Cara Kerjanya?

Proses OAuth 2.0 melibatkan beberapa pihak:

  • Resource Owner: Ini kamu, pemilik akun Google.
  • Client: Ini aplikasi GoFood.
  • Authorization Server: Ini server Google yang ngasih izin.
  • Resource Server: Ini juga server Google yang nyimpen data akun kamu.

Alurnya kurang lebih begini:

  1. GoFood minta izin ke kamu buat akses data Google.
  2. Kamu dialihkan ke server Google buat login dan kasih izin.
  3. Server Google ngasih kode otorisasi ke GoFood.
  4. GoFood nuker kode otorisasi itu dengan access token.
  5. GoFood pake access token buat akses data Google kamu.

Access token ini kayak kunci sementara yang cuma berlaku buat akses tertentu dan dalam jangka waktu tertentu. Jadi, lebih aman!

Jenis-Jenis Grant Type di OAuth 2.0

Ada beberapa cara GoFood (sebagai client) dapetin access token, disebut grant type. Beberapa yang umum:

  • Authorization Code: Ini yang paling umum dan aman, kayak yang dicontohin di atas.
  • Implicit: Lebih sederhana, tapi kurang aman karena access token langsung dikasih ke client lewat browser.
  • Resource Owner Password Credentials: Client langsung minta username dan password, tapi ini nggak disarankan.
  • Client Credentials: Dipake buat aplikasi yang pengen akses sumber daya atas nama mereka sendiri, bukan atas nama pengguna.

OAuth 2.0 dan Coding

Dalam coding, kita biasanya pake library atau framework yang udah nyediain implementasi OAuth 2.0. Misalnya, di Python ada oauthlib, di PHP ada league/oauth2-server, dan lain-lain. Kita tinggal konfigurasi sesuai kebutuhan dan ikutin dokumentasinya.

Kesimpulan

OAuth 2.0 emang keliatan ribet di awal, tapi sebenernya ini solusi elegan buat ngamanin interaksi antar aplikasi. Dengan OAuth 2.0, kita bisa kasih izin aplikasi buat "pinjam" data kita tanpa harus buka semua rahasia. Jadi, jangan takut buat nyemplung dan pelajari lebih lanjut ya!

oauth2 authentication
Bagikan: