Digital Transformation
OAuth (Open Authorization)
OAuth adalah protokol standar industri yang memungkinkan aplikasi mengakses data pengguna di layanan lain tanpa harus mengetahui password asli pengguna tersebut.
TL;DR: OAuth adalah protokol otorisasi terbuka yang memungkinkan satu aplikasi mengakses data pengguna di aplikasi lain tanpa membagikan password. Versi yang umum dipakai saat ini adalah OAuth 2.0, menjadi fondasi fitur "Login with Google", "Connect to Facebook", dan integrasi antar SaaS.
Apa itu OAuth?
OAuth (Open Authorization) adalah protokol standar yang mengatur bagaimana sebuah aplikasi pihak ketiga mendapatkan izin mengakses sumber daya pengguna di aplikasi lain, tanpa meminta kredensial asli seperti email dan password. Ketika sebuah website meminta izin membaca Google Drive Anda, di balik layar yang berjalan adalah alur OAuth. Pengguna login ke Google, menyetujui scope akses, lalu aplikasi pihak ketiga menerima sebuah access token yang dipakai sebagai kunci sementara.
Analogi sederhananya mirip kartu akses hotel. Resepsionis (server otorisasi) memverifikasi identitas tamu, lalu menerbitkan kartu (token) yang hanya bisa membuka kamar tertentu selama periode menginap. Kartu tidak membuka brankas hotel dan bisa dinonaktifkan kapan saja tanpa mengganti seluruh sistem kunci. OAuth sering dipasangkan dengan JWT sebagai format token, dan berjalan di atas SSL/HTTPS untuk mengamankan komunikasi.
Cara Kerja OAuth 2.0
Alur Authorization Code, yang paling umum di aplikasi web modern, terdiri dari empat aktor utama.
| Aktor | Peran |
|---|---|
| Resource Owner | Pengguna yang memiliki data (misalnya Anda dan Google Drive Anda) |
| Client | Aplikasi pihak ketiga yang ingin akses (misalnya tools produktivitas) |
| Authorization Server | Server penerbit izin (contoh: accounts.google.com) |
| Resource Server | Server pemilik data (contoh: Google Drive API) |
Langkahnya: client mengarahkan pengguna ke authorization server, pengguna login dan menyetujui scope, authorization server mengembalikan authorization code, client menukar code tersebut dengan access token, lalu client memanggil resource server memakai token itu. Access token biasanya berumur pendek, 1 sampai 24 jam, dan diperbarui memakai refresh token.
Kenapa Penting?
Bagi pebisnis Indonesia yang mengintegrasikan banyak SaaS melalui API, OAuth adalah standar yang menentukan seberapa mulus dan aman pengalaman integrasi tersebut. Tiga manfaat utamanya: pertama, pengguna tidak perlu membagikan password sehingga risiko kebocoran kredensial berkurang. Kedua, izin bersifat granular, aplikasi hanya mendapat scope yang disetujui, tidak bisa mengakses seluruh akun. Ketiga, izin bisa dicabut kapan saja melalui dashboard akun tanpa harus ganti password.
Dari sisi marketing, OAuth memungkinkan fitur social login yang menurut studi industri dapat meningkatkan conversion rate pendaftaran 20 sampai 40 persen karena menghilangkan friksi mengisi formulir panjang. Angka ini bervariasi tergantung audiens dan konteks produk.
Pertanyaan Umum
Apakah OAuth sama dengan login biasa?
Tidak. Login biasa memverifikasi identitas (authentication), sementara OAuth mengatur izin akses ke resource (authorization). Keduanya sering dikombinasikan melalui OpenID Connect, lapisan authentication yang dibangun di atas OAuth 2.0.
Apakah OAuth aman?
OAuth 2.0 aman jika diimplementasikan sesuai spesifikasi resmi dari IETF RFC 6749 dan selalu berjalan di atas HTTPS. Celah umum biasanya muncul dari implementasi yang keliru, bukan dari protokolnya sendiri.
Kapan sebaiknya memakai OAuth untuk produk saya?
Pakai OAuth ketika produk Anda butuh mengakses data pengguna di layanan eksternal, atau ketika Anda ingin menawarkan login sosial. Untuk API internal antar microservice, OAuth juga relevan melalui flow Client Credentials.
Istilah Terkait