Pemrograman OpenID: Belajar Menangani Universal Login

Penyingkapan: Dukungan Anda membantu menjaga situs tetap berjalan! Kami mendapatkan biaya referensi untuk beberapa layanan yang kami rekomendasikan pada halaman ini.


OpenID adalah protokol otentikasi terdesentralisasi yang sengaja gratis. Ini menyediakan cara untuk sistem otentikasi aman, seperti Google Masuk, untuk mengautentikasi pengguna ketika mereka mengakses situs web dan aplikasi pihak ketiga. Berkat OpenID dan sistem otentikasi terdesentralisasi lainnya, blog pribadi, situs web bisnis kecil, dan aplikasi seluler dapat menggunakan sistem otentikasi aman yang telah dirancang dan diimplementasikan oleh para pemimpin industri.

Sejarah OpenID

OpenID lahir pada Mei 2005 ketika Brad Fitzpatrick, pendiri LiveJournal, mengumumkan sistem identitas terdistribusi baru yang disebut Yadis (Yet Another Distributed Identity System). Pengumuman asli memperjelas bahwa Brad membayangkan Yadis sebagai metode otentikasi pengguna LiveJournal ke situs web pihak ketiga. Hanya beberapa hari kemudian, Yadis diganti namanya menjadi OpenID ketika domain openid.net diberi hadiah untuk digunakan dengan proyek tersebut.

OpenID 1.0 adalah kerangka kerja konseptual dengan utilitas dunia nyata terbatas. Namun, pengembangan bergerak cepat dan OpenID 2.0 diumumkan sekitar satu tahun setelah proyek diluncurkan. Adopsi OpenID 2.0 tersebar luas dan cepat, dan pada awal 2007, Symantec, Microsoft, AOL, dan Sun Microsystems telah bergabung.

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

  • Itu dibangun di atas protokol komunikasi dan otorisasi yang kuat dari OAuth 2.0.
  • Ini lebih ramah-pengembang dan lebih mudah untuk diintegrasikan dengan aplikasi seluler daripada pendahulunya.

Siapa yang Menggunakan OpenID?

OpenID dikeluarkan oleh banyak situs web populer termasuk Google, Yahoo !, Microsoft, dan PayPal. Ketika Anda mendaftar dengan salah satu situs ini, Anda diberi OpenID. Akibatnya, Anda mungkin sudah memiliki satu, dua, atau beberapa OpenID, bahkan jika Anda tidak menyadarinya..

Situs web dari semua jenis – situs e-niaga, blog, jejaring sosial, dan lainnya – gunakan OpenID untuk mengautentikasi pengguna. Faktanya, ada lebih dari satu miliar OpenID terdaftar dan lebih dari satu juta situs web dan aplikasi yang menerima OpenID untuk otentikasi pengguna.

Bagaimana Cara Kerja OpenID?

Ada tiga pihak yang terlibat dalam otentikasi pengguna OpenID:

  • Pengguna akhir: Individu yang ingin mengautentikasi diri mereka – yaitu, masuk – ke situs web atau aplikasi.
  • Mengandalkan bagian (RP): Situs web atau aplikasi yang memerlukan otentikasi pengguna dan bergantung pada protokol OpenID untuk berkomunikasi dengan pihak ketiga untuk mengautentikasi pengguna akhir.
  • Penyedia identitas (IDP): Layanan pihak ketiga, seperti Google, yang mendaftarkan OpenID dan menyediakan layanan otentikasi OpenID.

Dengan ketiga pihak tersebut ditentukan, inilah cara kerja OpenID:

  1. Pengguna akhir mengklaim OpenID dengan mendaftarkan akun dengan IDP.
  2. IDP membuat URL OpenID untuk pengguna akhir. URL ini unik untuk pengguna akhir dan mengklaim kepemilikan URL mengharuskan pengguna akhir untuk masuk ke sistem IDP. Misalnya, jika Anda menggunakan Google sebagai IDP, mereka membuat URL Google+ atas nama Anda yang berfungsi sebagai URL OpenID Anda, dan Anda harus masuk ke akun Google Anda untuk memverifikasi kepemilikan URL itu.
  3. Pengguna akhir mengunjungi RP OpenID dan memilih opsi untuk mendaftarkan akun dengan masuk dengan IDP pihak ketiga, seperti Google.
  4. Pengguna akhir dialihkan ke IDP pihak ketiga dan diminta untuk mengkonfirmasi kepemilikan URL OpenID dengan masuk.
  5. Jika pengguna akhir berhasil diautentikasi oleh IDP, maka IDP mengirim kembali URL OpenID unik pengguna akhir ke RP, dan RP mendaftarkan pengguna baru dengan URL itu..

Pada titik mana pun RP tidak menerima kata sandi pengguna akhir. Akibatnya, RP tidak perlu khawatir menyimpan kata sandi pengguna dengan aman. IDP menangani otentikasi dan kemudian mengkonfirmasi identitas pengguna akhir untuk RP menggunakan URL OpenID pengguna akhir.

Buat URL OpenID Anda Sendiri dengan phpMyID

Sejauh ini, kami telah menggunakan contoh-contoh penyedia OpenID yang terkenal. Namun, OpenID sengaja gratis. Itu berarti bahwa siapa pun – bahkan Anda – dapat mendaftarkan OpenID dan berfungsi sebagai IDP. Menyiapkan dan menawarkan pendaftaran OpenID publik jelas merupakan ide yang buruk kecuali Anda adalah pakar keamanan web. Namun, jika Anda ingin mengatur OpenID IDP untuk penggunaan dan pendidikan pribadi Anda, itu tidak terlalu sulit..

phpMyID adalah skrip sederhana yang dapat Anda gunakan untuk mengatur URL apa pun yang Anda kontrol sebagai OpenID pribadi Anda. Proyek asli ditinggalkan pada tahun 2008 dan tidak bekerja dengan PHP 5.4. Namun, dengan beberapa pembaruan dan peningkatan keamanan, proyek ini ditingkatkan dengan PHP 5.4 dan 5.6, dan Anda bisa mendapatkannya dari GitHub.

Perlu dicatat bahwa phpMyID tidak memenuhi spesifikasi OpenID Connect. Namun, Anda dapat menggunakannya untuk menghasilkan URL OpenID 2.0.

Ingatlah bahwa phpMyID hanya seaman versi PHP yang menjalankan skrip, langkah-langkah keamanan kata sandi yang Anda lakukan, dan langkah-langkah keamanan yang melindungi server tempat ia di-host. Akibatnya, menyiapkan OpenID Anda sendiri dengan phpMyID adalah proyek yang menarik untuk diatasi, tetapi pada akhirnya merupakan upaya yang berisiko kecuali Anda memiliki keahlian yang diperlukan untuk memastikan keamanannya. Dengan kata lain, gunakan phpMyID untuk belajar tentang OpenID, tetapi jangan menggunakannya untuk otentikasi pengguna umum.

Sumber daya

Jika Anda ingin memasukkan otentikasi OpenID ke dalam proyek Anda berikutnya ada sejumlah sumber daya yang tersedia untuk membantu Anda memulai.

Ikhtisar OpenID

Sebelum terjun ke implementasi, Anda harus memiliki pemahaman tingkat tinggi yang solid tentang cara kerja OpenID. Sumber daya berikut memberikan gambaran umum tingkat tinggi yang Anda butuhkan:

  • FAQ dan Q OpenID Connect&Sebagai: FAQ resmi dari OpenID Foundation. Lihat halaman ini untuk pengantar rinci tentang OpenID.
  • Kiat Pengembang dari OpenID Dijelaskan: jika Anda menerapkan OpenID untuk pertama kalinya, bacalah kiat-kiat ini untuk menghindari perangkap umum.
  • Singkatnya, OpenID Connect singkatnya oleh Nat Sakimura: jika Anda merasa sedikit terintimidasi oleh implementasi OpenID, artikel singkat ini memberikan tinjauan umum tentang bagaimana mengandalkan mitra dan penyedia identitas berinteraksi.
  • Menulis Server Koneksi OpenID dalam Tiga Langkah Sederhana oleh Nat Sakimura: tidak ada cara yang lebih baik untuk belajar selain dengan melakukannya. Jika Anda sudah up-to-speed dengan OAuth 2.0, maka tutorial ini akan memandu Anda melalui proses pengaturan cepat server OpenID Connect di atas otentikasi OAuth 2.0.

Sumber Daya Teknis

Jika Anda siap untuk bergerak di luar pendahuluan dan ikhtisar dan terjun ke dalam implementasi, berikut adalah spesifikasi teknis dan perpustakaan yang Anda perlukan akses ke.

  • Perpustakaan, Produk, dan Alat: daftar pustaka, produk, dan alat OpenID ini dikelola oleh OpenID Foundation. Jika Anda sudah memiliki kerangka kerja atau bahasa dalam pikiran untuk proyek Anda, ada peluang yang sangat bagus Anda akan menemukan alat, produk, atau perpustakaan untuk lingkungan Anda dalam daftar ini. Sumber daya yang tersedia termasuk perpustakaan yang ditulis untuk JavaScript, Java, PHP, Python, Ruby, C #, C, dan banyak bahasa lainnya, serta produk OpenID dari Amazon Web Services, Microsoft Azure, Ping Identity, dan banyak penyedia lainnya.
  • Selamat datang di OpenID Connect: beranda resmi untuk OpenID Connect ini mencakup tautan ke Spesifikasi OpenID. Dokumen yang tersedia mencakup spesifikasi OpenID Connect Core, Panduan Implementer Klien Dasar, Panduan Implementer Klien Implisit, dan banyak lagi.
  • Sumber Daya Penyedia OpenID: beberapa penyedia OpenID menawarkan dokumentasi yang luas sehingga pengembang dapat menggunakan sistem OpenID mereka untuk otentikasi pengguna.
    • Platform Google Identity: OpenID Connect
    • Pengembang PayPal: Masuk Terintegrasi dengan PayPal
    • Jaringan Pengembang Yahoo: OpenID Connect
    • Microsoft Azure: Mengizinkan akses ke aplikasi web menggunakan OpenID Connect dan Azure Active Directory

Buku

Buku-buku yang diulas dengan baik yang memperkenalkan OpenID dan menjelaskan implementasi otentikasi juga tersedia.

  • OAuth 2.0: Memulai dalam API Security (2015) oleh Matthias Biehl: pengantar singkat untuk OAuth 2.0 dan OpenID Connect yang akan memberikan dasar untuk menangani bahan yang lebih maju.
  • Advanced API Security: Mengamankan API dengan OAuth 2.0, OpenID Connect, JWS, dan JWE (2014) oleh Prabath Siriwardena: pengantar menyeluruh untuk otentikasi API yang mencakup standar otentikasi paling populer saat ini termasuk OAuth 2.0 dan OpenID. Lebih dari 250 halaman, ini bukan bacaan cepat.
  • Memulai dengan OAuth 2.0 (2012) oleh Ryan Boyd: pengantar singkat untuk implementasi OAuth 2.0 untuk otentikasi pengguna. Teks yang berorientasi pada hasil ini memperkenalkan OAuth 2.0 dan menjelaskan bagaimana OpenID Connect memungkinkan otentikasi tanpa perlu membangun sistem otentikasi.

Langkah selanjutnya

OpenID Connect bukan protokol otentikasi yang berdiri sendiri. Untuk menggunakannya, Anda juga membutuhkan pengetahuan OAuth 2.0 karena semua sistem OpenID Connect dibangun di atasnya. Kurva pembelajaran untuk memulai dengan OpenID Connect sangat curam. Banyak yang harus dipelajari. Setelah Anda menguasainya, Anda akan dapat mengintegrasikan otentikasi pengguna yang sangat aman ke situs web atau aplikasi Anda dengan keributan yang relatif minimal.

Bacaan Lebih Lanjut dan Sumberdaya

Kami memiliki lebih banyak panduan, tutorial, dan infografis yang berkaitan dengan pengkodean dan pengembangan:

  • Pengenalan dan Sumber Daya OAuth: sistem terkait erat yang memungkinkan dua aplikasi atas nama pengguna.
  • Pengenalan, Tutorial, dan Sumber Daya OpenSSL: mulai membuat halaman web yang aman dengan SSL.
  • Pengantar dan Sumber Daya Swift: ini adalah salah satu bahasa seperti-C terbaru. Masa depan pemrograman? Cari tahu di sini!

Kode apa yang harus Anda pelajari?

Bingung tentang bahasa pemrograman apa yang harus Anda pelajari kode? Lihat infografis kami, Apa Kode Yang Harus Anda Pelajari? Itu tidak hanya membahas berbagai aspek bahasa, itu menjawab pertanyaan-pertanyaan penting seperti, “Berapa banyak uang yang akan saya hasilkan untuk pemrograman Java sebagai mata pencaharian?”

Kode Apa Yang Harus Anda Pelajari?
Kode apa yang harus Anda pelajari?

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map