Rumah Keamanan Oauth 2.0 101

Oauth 2.0 101

Daftar Isi:

Anonim

Banyak mobil mewah datang dengan kunci pelayan. Ini adalah kunci khusus yang Anda berikan kepada petugas parkir dan tidak seperti kunci biasa Anda, hanya akan memungkinkan mobil untuk didorong jarak pendek sambil memblokir akses ke bagasi dan telepon seluler onboard. Terlepas dari batasan yang diberlakukan oleh kunci pelayan, idenya sangat pintar. Anda memberi seseorang akses terbatas ke mobil Anda dengan kunci khusus, saat menggunakan kunci lain untuk membuka kunci yang lain. - Panduan Resmi untuk OAuth 1.0


Begitulah pedoman spesifikasi berbasis komunitas menjelaskan cara OAuth kembali pada tahun 2007. Dan sementara OAuth 2.0 adalah protokol yang sama sekali baru, deskripsi yang sama masih berlaku - OAuth tetap menjadi cara bagi pengguna untuk memberikan akses pihak ketiga (dan akses terbatas) ke mereka sumber daya tanpa membagikan kata sandi mereka.


Jika Anda menggunakan Internet secara rutin, kemungkinan Anda telah menemukan situs yang menggunakan OAuth. Bagaimanapun, situs web terbesar di dunia, seperti Facebook, Google, MySpace, Twitter, Photobcuket, Yahoo, Evernote dan Vimeo, menggunakan standar otentikasi ini. Baca terus untuk mengetahui lebih lanjut tentang standar ini, dan mengapa generasi berikutnya, OAuth 2.0, masih digunakan secara eksperimental.

Apa itu OAuth 2.0?

Pertama, Anda perlu tahu apa yang dilakukan OAuth, sebagai protokol: Memungkinkan otorisasi antarmuka pemrograman aplikasi antara dua aplikasi Web atau desktop. Akibatnya, situs web dapat berbagi sumber daya yang dilindungi dengan situs web dan layanan lain.


Misalnya, jika Anda bermain Perebutan dengan teman di iPad Anda, Anda bisa memasukkan kredensial Facebook Anda, memungkinkan permainan untuk melihat daftar teman-teman Anda untuk melihat mana dari mereka yang bermain game - dan mengundang orang lain untuk bergabung. Atau Anda dapat terhubung dengan teman-teman di Google+ berdasarkan siapa yang mengikuti Anda di Twitter. Jenis aplikasi ini berguna untuk pengguna, tetapi mereka melibatkan memberikan satu situs atau program akses ke informasi tentang Anda di situs lain.


OAuth 2.0 bekerja sangat mirip dengan inkarnasi pertama OAuth, tetapi ini merupakan standar yang sama sekali baru. Ini berarti bahwa itu tidak kompatibel dengan OAuth 1.0. Versi 2.0 membersihkan banyak masalah dengan OAuth asli dan melakukan perbaikan.


Sementara pada dasarnya mempertahankan arsitektur versi pertama, 2.0 ditingkatkan pada:

  • Otentikasi dan tanda tangan. OAuth 2.0 memudahkan seseorang di sisi klien untuk mengimplementasikan protokol.
  • Pengalaman pengguna dan cara-cara alternatif untuk mengeluarkan token
  • Kinerja, terutama dengan situs web dan layanan yang lebih besar
Penjelasan yang lebih komprehensif tentang apa yang baru dengan OAuth 2.0 disediakan oleh Eran Hammer, yang dulunya merupakan bagian dari kelompok kerja OAuth. Anda dapat mengaksesnya di sini. Namun, perhatikan bahwa Hammer meninggalkan kelompok kerja pada Juli 2012, mengutip masalah dengan masalah keamanan ketika menerapkan standar. Akibatnya, meskipun OAuth seharusnya selesai pada akhir 2010, tetap standar yang diusulkan (pada saat penulisan), meskipun itu merupakan bagian dari Graph API Facebook. Google dan Microsoft juga bereksperimen dengan dukungan OAuth 2.0 di API mereka.

Manfaat Menggunakan OAuth 2.0

Salah satu alasan terbaik untuk menggunakan OAuth adalah membuat berbagi jadi jauh lebih mudah. Kami sudah terbiasa mengunggah foto ke Instagram dan mempostingnya secara otomatis ke Twitter dan Facebook. Bahkan, ini semacam kemudahan penggunaan dan crossover yang terus membuat media sosial begitu menarik.


Tapi itu belum semuanya. Untuk pengguna akhir, OAuth berarti Anda tidak perlu membuat profil lain. Misalnya, jika Anda ingin memberikan komentar pada sebuah artikel, Anda dapat menggunakan kredensial Facebook atau Twitter Anda untuk melakukannya, daripada harus mendaftar untuk akun di situs web yang diberikan. Ini bagus untuk situs yang biasanya tidak Anda aktifkan, atau yang mungkin tidak Anda percayai. Ini juga dapat menguntungkan situs dengan memastikan bahwa pengguna memiliki identitas di Facebook, membuat spam komentar lebih kecil kemungkinannya.


OAuth juga berarti lebih sedikit kata sandi yang perlu diingat. Ini adalah praktik terbaik untuk memiliki kata sandi yang berbeda untuk layanan situs web yang berbeda. Jadi, alih-alih mengingat kata sandi lain, Anda hanya perlu menggunakan kata sandi Facebook Anda untuk mengakses layanan., omong-omong, tidak akan melihat kata sandi Anda.


Anda juga dapat membatasi sumber daya apa yang diakses melalui OAuth Anda. Misalnya, saat bermain game di Facebook, Anda dapat menentukan apakah Anda ingin game tersebut diposting di dinding atas nama Anda atau tidak.


Untuk pengembang, OAuth 2.0 menyediakan kode yang sudah dikembangkan untuk otentikasi, tampilan interaksi sosial dan tampilan profil pengguna. Ini berarti lebih sedikit bug bagi pengembang untuk bersaing dan risiko yang lebih rendah karena API telah didebug, diuji, dan terbukti. Terakhir, Anda juga mendapat manfaat dari memiliki lebih sedikit data untuk disimpan di server Anda sendiri.

Bagaimana OAuth 2.0 Datang Menjadi

Sangat jelas bahwa OAuth merupakan respons terhadap panggilan untuk komputasi yang aman dan kemudahan penggunaan untuk berbagai layanan Web. OAuth 2.0, di sisi lain, muncul dari kebutuhan untuk membuat OAuth kurang kompleks. Tetapi keseluruhan ide untuk keduanya sebenarnya berasal dari OpenID.


OpenID adalah layanan yang memungkinkan pengguna untuk masuk ke berbagai layanan dengan menggunakan kredensial masuk dari situs web lain. Tetapi OpenID sangat terbatas, sehingga sekelompok orang yang bekerja pada protokol otorisasi yang berbeda untuk situs mereka berkumpul. Implementasi OAuth pertama dilakukan pada 2007, dan revisi pertama datang dua tahun kemudian.


OAuth 2.0 tiba di lokasi pada tahun 2010. Maksudnya adalah untuk fokus pada kesederhanaan klien-pengembang dan menjadi lebih mudah diskalakan sementara juga meningkatkan pengalaman pengguna.

Tantangan ke Depan?

Meskipun Google, Klout dan nama-nama besar lainnya menerapkan OAuth 2.0, mungkin masih ada jalan berbatu di depan protokol ini. Ada kritik dari dalam komunitas OAuth 2.0, termasuk kekhawatiran tentang keamanan protokol (banyak yang percaya itu kurang aman daripada OAuth 1.0).


Menurut Hammer, jika digunakan oleh seorang programmer yang kompeten yang berpengalaman dalam keamanan Web, OAuth 2.0 berfungsi. Sayangnya, hanya sebagian kecil pengembang yang sesuai dengan tagihan itu.


Selain itu, kode OAuth 2.0 tidak dapat digunakan kembali. Misalnya, protokol OAuth 2.0 yang digunakan oleh Facebook tidak akan mudah digunakan oleh situs lain. Terlebih lagi, protokol baru sebenarnya jauh lebih kompleks daripada yang asli.


Tetapi penendang nyata bagi banyak orang adalah bahwa OAuth 2.0 tampaknya tidak menawarkan keuntungan nyata atau peningkatan lebih dari 1, 0. Hammer menulis bahwa jika Anda berhasil menerapkan 1.0, tidak ada alasan untuk meningkatkan ke 2.0.


OAuth 2.0, bagaimanapun, masih sangat hidup. Jika itu mengatasi kritik dan masalah yang diangkat, itu mungkin masih menemukan tempat sebagai protokol yang sangat kuat. Pada saat penulisan, bagaimanapun, versi 1.0 masih dianggap sebagai versi resmi, stabil dan teruji OAuth. Namun demikian, bagi pengembang yang bertujuan untuk bekerja dengan nama-nama besar di dunia online, menerapkan protokol ini dengan aman dapat menjadi keterampilan utama yang ditetapkan dalam waktu yang tidak terlalu lama.

Oauth 2.0 101