Pengaturcaraan OpenID: Belajar Mengendalikan Log Masuk Sejagat

Pendedahan: Sokongan anda membantu mengekalkan laman web ini! Kami memperoleh bayaran rujukan untuk beberapa perkhidmatan yang kami cadangkan di halaman ini.


OpenID adalah protokol pengesahan desentralisasi yang disengajakan secara percuma. Ini menyediakan cara untuk sistem pengesahan yang selamat, seperti Log Masuk Google, untuk mengesahkan pengguna ketika mereka mengakses laman web dan aplikasi pihak ketiga. Terima kasih kepada OpenID dan sistem pengesahan terdesentralisasi lain, blog peribadi, laman web perniagaan kecil, dan aplikasi mudah alih dapat menggunakan sistem pengesahan selamat yang telah dirancang dan dilaksanakan oleh pemimpin industri.

Sejarah OpenID

OpenID dilahirkan pada bulan Mei 2005 ketika Brad Fitzpatrick, pengasas LiveJournal, mengumumkan sistem identiti diedarkan baru yang disebut Yadis (Namun Satu lagi Sistem Pengenalan Terdistribusi). Pengumuman asal menjelaskan bahawa Brad membayangkan Yadis sebagai kaedah mengesahkan pengguna LiveJournal ke laman web pihak ketiga. Hanya beberapa hari kemudian, Yadis dinamakan semula sebagai OpenID apabila domain openid.net diberikan untuk digunakan dengan projek tersebut.

OpenID 1.0 adalah kerangka konsep dengan utiliti dunia nyata yang terhad. Walau bagaimanapun, pembangunan bergerak dengan cepat dan OpenID 2.0 diumumkan kira-kira satu tahun selepas projek ini dilancarkan. Penerapan OpenID 2.0 meluas dan pesat, dan pada awal tahun 2007, Symantec, Microsoft, AOL, dan Sun Microsystems telah berada di kapal.

Pada tahun 2014, OpenID Connect dilahirkan. OpenID generasi baru ini menawarkan dua peningkatan penting jika dibandingkan dengan OpenID 2.0:

  • Ia dibina berdasarkan protokol komunikasi dan kebenaran OAuth 2.0 yang mantap.
  • Ia lebih mesra pengembang dan lebih mudah digabungkan dengan aplikasi mudah alih daripada pendahulunya.

Yang Menggunakan OpenID?

OpenID dikeluarkan oleh banyak laman web popular termasuk Google, Yahoo !, Microsoft, dan PayPal. Apabila anda mendaftar dengan salah satu laman web ini, anda akan diberi OpenID. Hasilnya, anda mungkin sudah memiliki satu, dua, atau beberapa OpenID, walaupun anda tidak menyedarinya.

Laman web dari semua jenis – laman web e-dagang, blog, rangkaian sosial, dan banyak lagi – gunakan OpenID untuk mengesahkan pengguna. Sebenarnya, terdapat lebih dari satu bilion OpenID berdaftar dan lebih dari satu juta laman web dan aplikasi yang menerima OpenID untuk pengesahan pengguna.

Bagaimana OpenID Berfungsi?

Terdapat tiga pihak yang terlibat dalam pengesahan pengguna OpenID:

  • Pengguna akhir: Individu yang ingin mengesahkan diri mereka – iaitu, masuk – ke laman web atau aplikasi.
  • Mengandalkan bahagian (RP): Laman web atau aplikasi yang memerlukan pengesahan pengguna dan bergantung pada protokol OpenID untuk berkomunikasi dengan pihak ketiga untuk mengesahkan pengguna akhir.
  • Penyedia identiti (IDP): Perkhidmatan pihak ketiga, seperti Google, yang mendaftarkan OpenID dan menyediakan perkhidmatan pengesahan OpenID.

Dengan ketiga-tiga pihak yang ditentukan, inilah cara OpenID berfungsi:

  1. Pengguna akhir menuntut OpenID dengan mendaftarkan akaun dengan IDP.
  2. IDP membuat URL OpenID untuk pengguna akhir. URL ini unik untuk pengguna akhir dan menuntut pemilikan URL memerlukan pengguna akhir untuk log masuk ke sistem IDP. Sebagai contoh, jika anda menggunakan Google sebagai IDP, mereka membuat URL Google+ bagi pihak anda yang berfungsi sebagai URL OpenID anda, dan anda harus log masuk ke akaun Google anda untuk mengesahkan pemilikan URL tersebut.
  3. Pengguna akhir mengunjungi OpenID RP dan memilih pilihan untuk mendaftarkan akaun dengan log masuk dengan IDP pihak ketiga, seperti Google.
  4. Pengguna akhir diarahkan ke IDP pihak ketiga dan diminta untuk mengesahkan pemilikan URL OpenID dengan log masuk.
  5. Sekiranya pengguna akhir berjaya disahkan oleh IDP, maka IDP akan menghantar kembali URL OpenID unik pengguna akhir ke RP, dan RP mendaftarkan pengguna baru dengan URL tersebut.

RP tidak menerima kata laluan pengguna akhir. Hasilnya, RP tidak perlu risau untuk menyimpan kata laluan pengguna dengan selamat. IDP menangani pengesahan dan kemudian mengesahkan identiti pengguna akhir untuk RP menggunakan URL OpenID pengguna akhir.

Buat URL OpenID Anda Sendiri dengan phpMyID

Setakat ini, kami telah menggunakan contoh penyedia OpenID yang terkenal. Walau bagaimanapun, OpenID sengaja percuma. Ini bermaksud bahawa sesiapa sahaja – walaupun anda – boleh mendaftarkan OpenID dan berfungsi sebagai IDP. Menyiapkan dan menawarkan pendaftaran OpenID awam pastinya idea yang tidak baik melainkan anda adalah pakar keselamatan web. Walau bagaimanapun, jika anda ingin menubuhkan OpenID IDP untuk kegunaan dan pendidikan peribadi anda, sebenarnya tidak begitu sukar.

phpMyID adalah skrip mudah yang boleh anda gunakan untuk menyiapkan URL yang anda kendalikan sebagai OpenID peribadi anda sendiri. Projek asal ditinggalkan pada tahun 2008 dan tidak berfungsi dengan PHP 5.4. Namun, dengan beberapa kemas kini dan peningkatan keselamatan, projek ini dipercepat dengan PHP 5.4 dan 5.6, dan anda boleh mendapatkannya dari GitHub.

Perlu diingat bahawa phpMyID tidak memenuhi spesifikasi OpenID Connect. Walau bagaimanapun, anda boleh menggunakannya untuk menghasilkan URL OpenID 2.0.

Perlu diingat bahawa phpMyID hanya aman seperti versi PHP yang menjalankan skrip, langkah-langkah keselamatan kata laluan yang anda buat, dan langkah-langkah keselamatan melindungi pelayan di mana ia dihoskan. Hasilnya, menyiapkan OpenID anda sendiri dengan phpMyID adalah projek yang menarik untuk ditangani, tetapi akhirnya usaha yang berisiko melainkan anda mempunyai kepakaran yang diperlukan untuk memastikannya selamat. Dengan kata lain, gunakan phpMyID untuk mengetahui mengenai OpenID, tetapi jangan gunakannya untuk pengesahan pengguna umum.

Sumber

Sekiranya anda ingin memasukkan pengesahan OpenID ke dalam projek anda seterusnya, terdapat sejumlah sumber yang tersedia untuk membantu anda memulakannya.

Gambaran Keseluruhan OpenID

Sebelum menyelami pelaksanaannya, anda ingin mempunyai pemahaman tahap tinggi yang kukuh tentang bagaimana OpenID berfungsi. Sumber berikut memberikan gambaran umum tahap tinggi yang anda perlukan:

  • Soalan Lazim OpenID Connect dan Q&Seperti: Soalan Lazim rasmi OpenID Foundation. Rujuk halaman ini untuk pengenalan terperinci mengenai OpenID.
  • Petua Pembangun dari OpenID Dijelaskan: jika anda melaksanakan OpenID untuk pertama kalinya, baca petua ini untuk mengelakkan masalah biasa.
  • OpenID Connect secara ringkas oleh Nat Sakimura: jika anda merasa sedikit terintimidasi dengan pelaksanaan OpenID, artikel pendek ini memberikan gambaran umum tentang bagaimana rakan kongsi dan penyedia identiti berinteraksi.
  • Tulis Pelayan Connect OpenID dalam Tiga Langkah Mudah oleh Nat Sakimura: tidak ada cara yang lebih baik untuk belajar daripada dengan melakukan. Sekiranya anda sudah berpengalaman dengan OAuth 2.0, maka tutorial ini akan memandu anda melalui proses penyediaan pelayan OpenID Connect dengan cepat di atas pengesahan OAuth 2.0.

Sumber Teknikal

Sekiranya anda bersedia melangkah lebih jauh daripada pengenalan dan gambaran keseluruhan dan menyelami pelaksanaannya, berikut adalah spesifikasi teknikal dan perpustakaan yang perlu anda akses.

  • Perpustakaan, Produk, dan Alat: senarai perpustakaan, produk, dan alat OpenID ini dikendalikan oleh OpenID Foundation. Sekiranya anda sudah mempunyai kerangka atau bahasa pengembangan untuk projek anda, ada kemungkinan besar anda akan menemui alat, produk, atau perpustakaan untuk persekitaran anda dalam senarai ini. Sumber yang tersedia termasuk perpustakaan yang ditulis untuk JavaScript, Java, PHP, Python, Ruby, C #, C, dan banyak bahasa lain, serta produk OpenID dari Amazon Web Services, Microsoft Azure, Ping Identity, dan banyak penyedia lain.
  • Selamat Datang di OpenID Connect: laman utama rasmi ini untuk OpenID Connect merangkumi pautan ke Spesifikasi OpenID. Dokumen yang tersedia merangkumi spesifikasi OpenID Connect Core, Panduan Pelaksana Pelanggan Asas, Panduan Pelaksana Pelanggan Tersirat, dan banyak lagi.
  • Sumber Pembekal OpenID: sebilangan penyedia OpenID menawarkan dokumentasi yang luas sehingga pembangun dapat menggunakan sistem OpenID mereka untuk pengesahan pengguna.
    • Platform Identiti Google: OpenID Connect
    • Pembangun PayPal: Log Masuk Bersepadu dengan PayPal
    • Rangkaian Pembangun Yahoo: OpenID Connect
    • Microsoft Azure: Mengizinkan akses ke aplikasi web menggunakan OpenID Connect dan Azure Active Directory

Buku

Buku yang disemak dengan baik yang memperkenalkan OpenID dan menjelaskan pelaksanaan pengesahan juga tersedia.

  • OAuth 2.0: Bermula dalam Keamanan API (2015) oleh Matthias Biehl: pengenalan ringkas kepada OAuth 2.0 dan OpenID Connect yang akan memberi asas untuk menangani bahan yang lebih maju.
  • Keselamatan API Lanjutan: Mengamankan API dengan OAuth 2.0, OpenID Connect, JWS, dan JWE (2014) oleh Prabath Siriwardena: pengenalan menyeluruh untuk pengesahan API yang merangkumi standard pengesahan yang paling popular hari ini termasuk OAuth 2.0 dan OpenID. Lebih daripada 250 halaman, ini bukan bacaan pantas.
  • Bermula dengan OAuth 2.0 (2012) oleh Ryan Boyd: pengenalan ringkas mengenai pelaksanaan OAuth 2.0 untuk pengesahan pengguna. Teks berorientasikan hasil ini memperkenalkan OAuth 2.0 dan menerangkan bagaimana OpenID Connect membuat pengesahan mungkin tanpa perlu membina sistem pengesahan.

Langkah seterusnya

OpenID Connect bukan protokol pengesahan yang berdiri sendiri. Untuk menggunakannya, anda juga memerlukan pengetahuan mengenai OAuth 2.0 kerana semua sistem OpenID Connect dibina di atasnya. Keluk pembelajaran untuk memulakan dengan OpenID Connect adalah curam. Banyak yang perlu dipelajari. Setelah menguasainya, anda akan dapat menggabungkan pengesahan pengguna yang sangat selamat ke dalam laman web atau aplikasi anda dengan keributan yang minimum.

Bacaan dan Sumber Lanjut

Kami mempunyai lebih banyak panduan, tutorial, dan infografik yang berkaitan dengan pengekodan dan pengembangan:

  • Pengenalan dan Sumber OAuth: sistem yang berkait rapat yang membenarkan dua aplikasi bagi pihak pengguna.
  • OpenSSL Pengenalan, Tutorial, dan Sumber: mulailah membuat laman web selamat dengan SSL.
  • Pengenalan dan Sumber Swift: ini adalah salah satu bahasa seperti C terbaru. Masa depan pengaturcaraan? Cari di sini!

Kod Apa yang Perlu Anda Pelajari?

Keliru dengan bahasa pengaturcaraan apa yang harus anda pelajari untuk membuat kod? Lihat infografik kami, Kod Apa yang Perlu Anda Pelajari? Ia tidak hanya membincangkan berbagai aspek bahasa, tetapi juga menjawab pertanyaan penting seperti, “Berapa banyak wang yang akan saya buat untuk memprogram Java untuk mencari nafkah?”

Kod Apa yang Perlu Anda Pelajari?
Kod Apa yang Perlu Anda Pelajari?

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me