Bagaimana cara membuat "Tambahkan lebih banyak login" mirip dengan Stackoverflow?

15

Saya menggunakan modul Selektor OpenID untuk mengintegrasikan login OpenID ke situs web saya; layanan yang sama digunakan oleh Stackoverflow untuk login / registrasi. Namun, bagaimana saya bisa menambahkan opsi ke "Tambahkan lebih banyak login" seperti Stackoverflow? Saya juga terbuka untuk saran.

Idenya adalah untuk mencegah pengguna duplikat. Saya menggunakan D7.

Lihat gambar terlampir.

Juga jenis tweak dipersilakan. masukkan deskripsi gambar di sini

niksmac
sumber
2
Jika tidak ada modul yang berfungsi, saya terbuka untuk saran, dan jika saya mendapatkan logika yang sempurna; saya jamin Anda akan mendapatkan modul D7 yang dihosting di drupal.org pasti.
niksmac
Lengkap satu hari tidak aktif, saya kecewa. Ini hal yang langka di Stackoverflow. !!
niksmac
Saya tahu ada modul Janrain yang mengintegrasikan banyak login, tetapi saya tidak tahu bagaimana atau bahkan jika mereka berurusan dengan duplikat sama sekali.
stefgosselin
@ NikhilM apakah Anda meletakkan proyek kotak pasir untuk ini atau apa? Saya akan dengan senang hati mengulasnya :-)
AjitS
@indrock, Sayangnya klien saya membatalkan konsep. Saya berencana untuk membuat sesuatu yang serupa tetapi tidak baru-baru ini. Saya cukup sibuk.
niksmac

Jawaban:

9

Jadi asumsi default yang dibuat oleh sebagian besar modul Drupal dengan otentikasi adalah mereka akan mengganti pengaturan login saat ini dengan milik mereka sendiri.

Pendekatan ini dijelaskan dengan baik di http://drupal.org/node/114774#dist-auth dan dapat dilihat pada bagaimana modul openid saat ini yang disediakan dalam pekerjaan inti Drupal.

Jika saya memahami pertanyaan Anda dengan benar, Anda ingin memberikan cara bagi orang-orang untuk mengautentikasi dari berbagai sumber dan meminta sumber-sumber yang diaktifkan tersebut muncul di bawah profil pengguna mereka. Saya tidak berpikir ada modul yang melakukan ini, karena sebagian besar modul auth beroperasi dalam gelembung kecil mereka sendiri seperti dijelaskan di atas.

Setelah melihat sekilas pada OpenID Selector Anda tidak akan mendapatkan banyak jarak tempuh dari sana, terutama mengimplementasikan dan mengonfigurasi perpustakaan jquery. Anda harus menulis ini dari awal.

Bagian utama dari modul Anda adalah:

  1. Tabel database yang mengelola login yang terkait dengan pengguna tertentu.
  2. Beberapa jenis skema form_alter untuk halaman login untuk menunjukkan semua opsi login yang tersedia yang telah ditentukan pemilik situs (ini akan menggantikan apa yang dilakukan masing-masing modul saat ini)
  3. Halaman admin untuk pemilik situs untuk memilih dari opsi yang tersedia.

Masing-masing dari opsi login tersebut mungkin akan disediakan oleh modul contrib terpisah, jadi Anda mungkin harus mengubah logika Anda untuk spesifik yang Anda temukan dalam implementasi dari modul-modul tersebut.

Bagi saya ini merupakan upaya yang ambisius untuk modul yang dapat dikonfigurasi yang Anda rencanakan untuk rilis, tetapi jika Anda pergi dengan rute yang sangat cepat / kotor dengan kode khusus untuk satu situs, itu tidak akan memakan waktu terlalu lama.

Tempat lain untuk mencari inspirasi tentang bagaimana modul auth beroperasi di Drupal dan sumber yang mungkin Anda ingin sertakan adalah FBOauth dan Twitter .

Mark Ferree
sumber
Terima kasih atas jawaban terinci seperti itu. Saya tetap membutuhkannya. Jadi mari kita lakukan sendiri setidaknya itu akan membantu saya.
niksmac
8

Apakah Sign-on Sosial HybridAuth tidak sesuai dengan kebutuhan Anda?

Modul ini mengintegrasikan perpustakaan HybridAuth ke dalam Drupal dan memungkinkan pengguna Anda untuk masuk dan mendaftar menggunakan Google, Facebook, Twitter, Yahoo, MySpace, Windows Live, LinkedIn, Foursquare, AOL, OpenID dan banyak lagi. Penyedia tambahan termasuk: Github, Gowalla, LastFM, Vimeo, Disqus, Instagram, Viadeo, Identica, Tumblr, Goodreads, QQ, Sina, Murmur, Pixnet, Plurk, Skyrock, 500px, Vkontakte, Mail.ru, Yandex, Odnoklassniki.

Saya belum menggunakannya sendiri, tetapi membaca deskripsi dan tangkapan layar sepertinya menyarankan itu melakukan apa yang Anda butuhkan.

Pembaruan: Melihat statistik Penggunaan , sepertinya modul baru saja diambil dan mungkin tidak dapat digunakan saat Anda memposting pertanyaan ini.

Vyoma
sumber
Jika modul ini berfungsi dengan baik ... yang tampaknya menjadi masalah ... Anda menyelamatkan saya sekitar 20 atau 40 jam kerja jaja, terima kasih!
Beto Aveiga