Rumah Keselamatan Oauth 2.0 101

Oauth 2.0 101

Isi kandungan:

Anonim

Banyak kereta mewah datang dengan kunci valet. Ia adalah kunci khas yang anda berikan kepada atendan letak kereta dan tidak seperti kunci tetap anda, hanya akan membenarkan kereta itu dipandu jarak pendek sambil menghalang akses ke bagasi dan telefon bimbit onboard. Terlepas dari sekatan kunci valet yang dikenakan, idea itu sangat pandai. Anda memberi seseorang akses terhad kepada kereta anda dengan kunci khas, semasa menggunakan kunci lain untuk membuka kunci segala yang lain. - Panduan Rasmi untuk OAuth 1.0


Itulah bagaimana garis panduan spesifikasi berasaskan komuniti menerangkan cara OAuth kembali pada tahun 2007. Dan sementara OAuth 2.0 adalah protokol yang benar-benar baru, penerangan yang sama masih berlaku - OAuth tetap menjadi satu cara bagi pengguna untuk memberikan akses pihak ketiga (dan akses terhad) kepada mereka sumber tanpa berkongsi kata laluan mereka.


Sekiranya anda berada di Internet secara teratur, kemungkinan anda telah menjumpai laman web yang menggunakan OAuth. Lagipun, laman web terbesar di dunia, seperti Facebook, Google, MySpace, Twitter, Photobcuket, Yahoo, Evernote dan Vimeo, menggunakan standard pengesahan ini. Baca terus untuk mengetahui lebih lanjut tentang standard ini, dan mengapa generasi akan datang, OAuth 2.0, masih digunakan secara relatif eksperimen.

Apa itu OAuth 2.0?

Pertama, anda perlu tahu apa yang OAuth, sebagai protokol, tidak: Ia membolehkan kebenaran antara muka aplikasi pengaturcaraan antara dua aplikasi Web atau desktop. Akibatnya, laman web dapat berkongsi sumber yang dilindungi dengan laman web dan perkhidmatan lain.


Sebagai contoh, jika anda bermain Scramble dengan rakan-rakan di iPad anda, anda boleh memasukkan bukti kelayakan Facebook anda, membenarkan permainan untuk melihat senarai rakan anda untuk melihat siapa yang bermain permainan itu - dan menjemput orang lain untuk menyertai. Atau anda boleh berhubung dengan rakan di Google+ berdasarkan siapa yang mengikuti anda di Twitter. Jenis aplikasi ini berguna untuk pengguna, tetapi mereka melibatkan memberikan satu tapak atau program akses kepada maklumat mengenai anda di laman web lain.


OAuth 2.0 berfungsi seperti penjelmaan pertama OAuth, tetapi ia adalah standard yang sama sekali baru. Ini bermakna ia tidak serasi dengan OAuth 1.0. Versi 2.0 membersihkan banyak masalah dengan OAuth yang asal dan membuat penambahbaikan.


Walaupun pada dasarnya mengekalkan seni bina versi pertama, 2.0 telah ditingkatkan pada:

  • Pengesahan dan tandatangan. OAuth 2.0 memudahkan pengguna di pihak klien untuk melaksanakan protokol tersebut.
  • Pengalaman pengguna dan cara alternatif untuk mengeluarkan token
  • Prestasi, terutamanya dengan laman web dan perkhidmatan yang lebih besar
Penjelasan yang lebih komprehensif tentang apa yang baru dengan OAuth 2.0 disediakan oleh Eran Hammer, yang pernah menjadi sebahagian daripada kumpulan kerja OAuth. Anda boleh mengaksesnya di sini. Walau bagaimanapun, ambil perhatian bahawa Hammer meninggalkan kumpulan kerja pada bulan Julai 2012, dengan menyebut isu-isu dengan kebimbangan keselamatan ketika melaksanakan standard. Akibatnya, walaupun OAuth sepatutnya dimuktamadkan menjelang akhir tahun 2010, ia tetap menjadi standard yang dicadangkan (pada masa penulisan), walaupun ia adalah sebahagian daripada API Graph Facebook. Google dan Microsoft juga bereksperimen dengan sokongan OAuth 2.0 dalam API mereka.

Manfaat Menggunakan OAuth 2.0

Salah satu sebab terbaik untuk menggunakan OAuth ialah membuat perkongsian lebih mudah. Kami sudah digunakan untuk memuat naik foto ke Instagram dan menghantarnya secara automatik ke Twitter dan Facebook. Sebenarnya, ini jenis kemudahan penggunaan dan crossover yang terus membuat media sosial begitu menarik.


Tetapi itu bukan semua. Untuk pengguna akhir, OAuth bermakna bahawa anda tidak perlu membuat profil lain. Sebagai contoh, jika anda ingin meninggalkan komen pada artikel, anda boleh menggunakan bukti Facebook atau Twitter anda untuk berbuat demikian, bukannya perlu mendaftar untuk akaun di laman web tertentu. Ini bagus untuk laman web yang anda biasanya tidak aktif, atau anda mungkin tidak percaya. Ia juga boleh memberi manfaat kepada laman web dengan memastikan pengguna mempunyai identiti di Facebook, membuat spam komen kurang berkemungkinan.


OAuth juga bermakna lebih sedikit kata laluan untuk diingat. Amalan terbaik untuk mempunyai kata laluan yang berbeza untuk perkhidmatan laman web yang berbeza. Oleh itu, bukan menghafal kata laluan lain, anda hanya perlu menggunakan kata laluan Facebook anda untuk mengakses perkhidmatan tersebut., dengan cara itu, tidak akan melihat kata laluan anda.


Anda juga boleh mengehadkan sumber apa yang diakses melalui OAuth anda. Sebagai contoh, apabila bermain permainan di Facebook, anda boleh menentukan sama ada anda mahu permainan diposkan di dinding anda bagi pihak anda atau tidak.


Bagi pemaju, OAuth 2.0 menyediakan kod yang telah dibangunkan untuk pengesahan, paparan interaksi sosial dan paparan profil pengguna. Ini bermakna lebih sedikit bug bagi pemaju untuk bertarung dan risiko yang lebih rendah kerana API telah di-debug, diuji dan terbukti. Akhir sekali, anda juga mendapat manfaat daripada kurang data yang disimpan pada pelayan anda sendiri.

Bagaimana OAuth 2.0 Akan Datang

Adalah jelas bahawa OAuth adalah respons kepada panggilan untuk pengkomputeran selamat dan kemudahan penggunaan untuk perkhidmatan Web yang berbeza. OAuth 2.0, sebaliknya, timbul daripada keperluan untuk membuat OAuth kurang kompleks. Tetapi idea keseluruhan untuk kedua-dua sebenarnya berasal dari OpenID.


OpenID adalah perkhidmatan yang membolehkan pengguna melog masuk ke pelbagai perkhidmatan dengan menggunakan kelayakan login dari laman web lain. Tetapi OpenID sangat terhad, jadi sekumpulan orang yang bekerja pada protokol pengesahan yang berbeza untuk laman web mereka sendiri berkumpul. Pelaksanaan OAuth yang pertama telah dilakukan pada tahun 2007, dan semakan pertama datang dua tahun kemudian.


OAuth 2.0 tiba di tempat kejadian pada tahun 2010. Hasratnya adalah untuk memberi tumpuan kepada kesederhanaan pemaju pelanggan dan lebih mudah berskala sementara juga meningkatkan pengalaman pengguna.

Cabaran Di Hadapan?

Walaupun Google, Klout dan nama-nama besar lain melaksanakan OAuth 2.0, masih terdapat jalan berbatu di depan protokol ini. Terdapat kritikan dari dalam komuniti OAuth 2.0, termasuk kebimbangan tentang keselamatan protokol (ramai yang percaya ia kurang selamat daripada OAuth 1.0).


Menurut Hammer, jika digunakan oleh seorang pengaturcara yang kompeten yang pandai dalam keselamatan Web, OAuth 2.0 berfungsi. Malangnya, hanya minoriti pemaju kecil yang sesuai dengan rang undang-undang itu.


Di samping itu, kod OAuth 2.0 tidak boleh digunakan semula. Sebagai contoh, protokol OAuth 2.0 yang digunakan oleh Facebook tidak akan mudah digunakan oleh laman web lain. Lebih-lebih lagi, protokol baru sebenarnya lebih kompleks daripada yang asal.


Tetapi kicker sebenar bagi ramai orang adalah bahawa OAuth 2.0 tidak muncul untuk menawarkan apa-apa kelebihan atau peningkatan sebenar berbanding 1.0. Hammer menulis bahawa jika anda berjaya melaksanakan 1.0, tidak ada sebab untuk menaik taraf kepada 2.0.


Namun, OAuth 2.0 masih lagi hidup. Jika ia menangani kritikan dan isu-isu yang dibangkitkan, ia masih boleh mencari tempat sebagai protokol yang sangat kuat. Pada masa penulisan, bagaimanapun, versi 1.0 masih dianggap versi rasmi, stabil dan diuji OAuth. Walau bagaimanapun, bagi pemaju yang berhasrat untuk bekerja dengan nama besar di dunia dalam talian, melaksanakan protokol ini dengan selamat boleh menjadi kemahiran utama yang ditetapkan dalam masa depan yang tidak terlalu jauh.

Oauth 2.0 101