Sebagai contoh:
- Kami menjalankan dua situs komunitas di dua domain (panggil mereka
example.com
danexample.net
). - Kami ingin dapat memperluasnya ke lebih banyak domain nanti.
- Kami ingin mengizinkan beberapa jenis login (OpenID, Facebook, Twitter, nama pengguna / kata sandi standar).
- Kami ingin seseorang yang masuk ke satu situs secara otomatis masuk ke situs lain.
Dengan kata lain, ini sedikit mirip dengan jaringan StackExchange.
Dalam hal ini, apakah rencana ini akan berhasil?
- Atur
example.com
danexample.net
(dan tambahan yang lebih baru) sebagai pihak yang mengandalkan OpenID, yang hanya menerima login OpenIDid.example.org
. - Atur
example.com
danexample.net
lakukan permintaan balasan-langsung OpenID saat pertama kali Anda mengunjunginya, sehingga jika Anda masuk,id.example.org
Anda langsung dan secara otomatis masuk ke situs yang Anda kunjungi. Mereka harus mengatur cookie jika Anda tidak masuk, untuk menyimpannya melakukan ini pada setiap permintaan halaman. - Diatur
id.example.org
sebagai penyedia dan konsumen OpenID. Ini juga harus mengkonsumsi Facebook dan penyedia identitas lainnya, dan memungkinkan akses nama pengguna / kata sandi standar. (Beberapa metode login dapat dilampirkan ke satu akun.) - Saat keluar, cukup ubah token otentikasi dalam database. Pengguna masih akan memiliki cookie, tetapi mereka tidak akan berarti. Dengan demikian pengguna dapat keluar dari semua situs secara bersamaan. Beberapa token otentikasi dapat disimpan terhadap satu pengguna pada satu waktu (dan harus berbeda untuk setiap situs), sehingga pengguna dapat keluar di satu browser tetapi masih masuk di yang lain. Keluar selalu keluar untuk semua situs.
Satu-satunya masalah yang saya dapat lihat di atas adalah ini:
- Seseorang mengunjungi
example.com
. Cookie "tidak masuk" ditetapkan. - Zie kemudian melanjutkan
example.net
. Dito. - Zie kemudian masuk, dan melanjutkan menjelajah
example.net
. - Zie kemudian kembali ke
example.com
dan, karena cookie "tidak masuk", tidak dicentangid.example.org
dan karenanya tidak masuk. - Namun, begitu zie mengklik tombol "masuk", zie masuk.
Saya rasa ini bukan masalah besar.
Secara keseluruhan, saya pikir ini adalah sistem yang cukup bagus. Saya hanya ingin melihatnya diulas. Apakah ada masalah yang belum saya perkirakan? Apakah itu buggy atau lambat? StackExchange menggunakan metode yang sangat berbeda. Saya kira mereka punya alasan bagus untuk itu?
Jawaban:
Jenis Movable menggunakan metode login yang sangat mirip dengan yang Anda jelaskan. Saya pribadi tidak keberatan, tetapi ada kalanya saya menyampaikannya kepada pelanggan dan mereka bisa bertanya, "apa sebenarnya yang terjadi di sini?"
Proyek yang paling membuat saya tertarik untuk membuat sistem masuk yang masuk akal adalah Google Identity Toolkit . Pengalaman pengguna sangat tepat, dan kemudahan yang tampaknya dapat diimplementasikan sangat menarik.
sumber
google.com
(YouTube, misalnya) juga menggunakan alur kerja semacam ini. (Jika saya mengunjungi YouTube, lalu masuk ke akun Google saya di GMail, lalu kembali ke YouTube, saya akan tetap keluar sampai saya mengklik "masuk" di titik mana, halaman saat ini