Otorisasi Terbuka (OAuth): Panduan Komprehensif

Profile Headshot of Satyam Gupta
Satyam Gupta

5
mins read

November 21, 2023

Buka Authrization

Poin-poin Penting

  1. Otorisasi terbuka memfasilitasi satu aplikasi untuk berinteraksi dengan yang lain atas nama Anda
  2. OAuth 2.0 telah melihat penggunaan luas bersama dengan adopsi dari perusahaan seperti Amazon, Facebook, Instagram dll.
  3. OAuth 2.0 lebih cepat dan lebih mudah diterapkan. Ini menyediakan enam aliran untuk berbagai jenis aplikasi
  4. Salah satu kritik utama OAuth 2.0 adalah bahwa standar sengaja tidak secara langsung mendefinisikan atau mendukung enkripsi, tanda tangan, verifikasi klien, atau pengikatan saluran.
  5. SMS OTP adalah contoh alternatif untuk OAuth

Open Authorization, umumnya dikenal sebagai OAuth, adalah protokol standar yang menyediakan aplikasi dengan kapasitas untuk “akses yang ditunjuk aman”.

Melalui OAuth, aplikasi dapat mengakses sumber daya atas nama pengguna, tanpa perlu berbagi kredentif pengguna tidak seperti metode otentikasi lainnya seperti SMS OTP oleh Penyedia layanan OTP.

Memahami OAuth dalam Istilah Sederhana

Untuk memahami OAuth dalam istilah yang lebih sederhana, bayangkan skenario di mana Anda ingin mengizinkan situs web pihak ketiga, seperti ESPN, untuk mengakses profil Facebook Anda atau memposting pembaruan di timeline Anda. Biasanya, Anda harus memberikan ESPN dengan kata sandi Facebook Anda.

Tetapi dengan OAuth, ESPN dapat mengakses profil Anda tanpa Anda harus membagikan kata sandi Anda. Ini secara drastis meminimalkan risiko kata sandi Anda terekspos jika terjadi pelanggaran keamanan di pihak ESPN.

Berikut adalah contoh dunia tanpa OAuth: -

Infographic displaying  a world without OAuth Scenario

Pandangan Lebih Dekat pada OAuth

OAuth pada dasarnya adalah protokol otorisasi, bukan protokol otentikasi. Ini memberikan token otorisasi untuk membuktikan identitas antara konsumen dan penyedia layanan. OAuth memfasilitasi satu aplikasi untuk berinteraksi dengan yang lain atas nama Anda, tanpa harus membagikan kata sandi Anda.

Evolusi OAuth

OAuth dirilis sebagai standar terbuka pada tahun 2010, di bawah RFC 5849, dan dengan cepat mendapatkan adopsi luas. Dua tahun kemudian, ia mengalami revisi yang signifikan, dan OAuth 2.0 dirilis pada tahun 2012 sebagai RFC 6749. Terlepas dari kritik, OAuth 2.0 melihat penggunaan yang lebih luas, dengan perusahaan besar seperti Amazon, Facebook, Instagram, LinkedIn, Microsoft, Netflix, dan PayPal bergabung dengan daftar pengadopsi.

Cara Kerja Batin OAuth

OAuth beroperasi berdasarkan prinsip peran, yang merupakan komponen fundamental dari sistem OAuth. Peran-peran ini meliputi:

  1. Pemilik Sumber Daya: Ini adalah pengguna atau sistem yang memiliki sumber daya yang dilindungi dan dapat memberikan akses ke sumber daya ini.
  2. Klien: Ini adalah sistem yang membutuhkan akses ke sumber daya yang dilindungi. Untuk mengakses sumber daya ini, Klien harus memiliki Token Akses yang sesuai.
  3. Server Otorisasi: Server ini menangani permintaan dari Klien untuk Token Akses dan menerbitkannya setelah otentikasi dan persetujuan berhasil oleh Pemilik Sumber Daya.
  4. Server Sumber Daya: Server ini melindungi sumber daya pengguna dan menerima permintaan akses dari Klien. Ini menerima dan memvalidasi Token Akses dari Klien dan kemudian mengembalikan sumber daya yang sesuai.

Konsep Cakupan di OAuth

Cakupan merupakan bagian integral dari OAuth. Mereka digunakan untuk menentukan alasan akses ke sumber daya dapat diberikan. Nilai lingkup yang dapat diterima dan sumber daya yang terkait bergantung pada Server Sumber Daya.

Token Akses OAuth 2.0 dan Kode Otorisasi

Di OAuth 2.0, server Otorisasi dapat mengembalikan Kode Otorisasi alih-alih langsung mengembalikan Token Akses setelah Pemilik Sumber Daya mengizinkan akses.

Kode ini kemudian ditukar dengan Token Akses. Untuk keamanan tambahan, server Otorisasi juga dapat mengeluarkan Refresh Token dengan Token Akses.

Bagaimana Cara Kerja OAuth?

Pada tingkat yang paling dasar, sebelum OAuth 2.0 dapat digunakan, Klien harus memperoleh kredensialnya sendiri, a id klien, dan rahasia klien, dari Server Otorisasi. Ini untuk mengidentifikasi dan mengotentikasi dirinya sendiri ketika meminta Token Akses.

OAuth vs OpenID

OAuth dan OpenID sering dipertukarkan, tetapi mereka melayani tujuan yang berbeda. Sementara OAuth adalah tentang otorisasi, OpenID adalah tentang otentikasi. OpenID memverifikasi identitas pengguna, sementara OAuth menyediakan otorisasi yang aman, pihak ketiga, agen pengguna, dan didelegasikan.

OAuth vs.SAML

Security Assertion Markup Language (SAML) adalah teknologi lain yang sering dibandingkan dengan OAuth. SAML menjelaskan kerangka kerja yang memungkinkan satu komputer untuk melakukan otentikasi dan otorisasi atas nama satu atau lebih komputer lain. OAuth, di sisi lain, memerlukan lapisan tambahan seperti OpenID Connect untuk melakukan otentikasi.

OAuth 2.0

OAuth 2.0 adalah desain ulang lengkap dari OAuth 1.0, dengan dua versi tidak kompatibel. OAuth 2.0 lebih cepat dan lebih mudah diterapkan. Ini menyediakan enam aliran untuk berbagai jenis aplikasi dan persyaratan dan memungkinkan untuk rahasia yang ditandatangani melalui HTTPS.

Infographic Displaying The Concept of Scopes in OAuth

Apakah OAuth Aman?

Meskipun OAuth diterima dan digunakan secara luas, itu bukan tanpa kerentanan. Salah satu kritik utama OAuth 2.0 adalah bahwa standar sengaja tidak secara langsung mendefinisikan atau mendukung enkripsi, tanda tangan, verifikasi klien, atau pengikatan saluran.

Ini bergantung pada pelaksana untuk menggunakan protokol perlindungan luar seperti Transport Layer Security (TLS) untuk menyediakan fitur-fitur tersebut.

Beberapa alternatif untuk OAuth adalah SMS OTP dan metode lain seperti yang dianggap sebagai masa depan otentikasi.

Kesimpulan

Terlepas dari keterbatasannya, OAuth telah menjadi pengubah permainan dalam memfasilitasi akses tanpa batas di beberapa aplikasi menggunakan satu set kredenSIAL. Ini telah membuka jalan bagi otorisasi yang aman, pihak ketiga, agen pengguna, dan didelegasikan, sehingga memudahkan pengguna untuk berinteraksi dengan beberapa aplikasi web. Karena lanskap digital terus berkembang, OAuth tidak diragukan lagi akan terus memainkan peran penting dalam cara kita mengakses dan berinteraksi dengan aplikasi web.

Ready to Get Started?

Build an effective communication funnel with Message Central.

Newsletter Mingguan Langsung ke Kotak Masuk Anda

Envelope Icon
Terima kasih! Kiriman Anda telah diterima!
Ups! Ada yang tidak beres saat mengirimkan formulir.