Pertanyaan Delegasi OpenID Connect dengan Google sekarang bahwa mereka menghentikan penyedia OpenID2 mereka?


Selama bertahun-tahun saya telah menggunakan delegasi OpenID untuk masuk ke Stack Overflow (di antara situs lain) menggunakan URI saya sendiri sebagai OpenID tetapi setelah Google menangani otentikasi. Saya menggunakan teknik yang dijelaskan dalam pertanyaan Stack Overflow ini; jadi, OpenID kebiasaan saya http://tupelo-schneck.org/robert menyelesaikan ke halaman HTML yang berisi ini:

<link href="https://www.google.com/accounts/o8/ud" rel="openid2.provider" />
<link href="https://www.google.com/profiles/schneck" rel="openid2.local_id" />  

Namun, sekarang, saya sudah masuk ke Stack Overflow dan meminta Google memberi tahu saya "Pemberitahuan Penting: OpenID2 untuk akun Google akan ditutup pada 20 April 2015. Belajarlah lagi. " Halaman ini menjelaskan bahwa Google telah menghentikan OpenID 2.0 dan pengembang harus memigrasikan aplikasinya ke OpenID Connect.

Dapatkah saya terus menggunakan URI khusus untuk login OpenID, tetapi mendelegasikan ke penyedia OpenID Connect Google untuk otentikasi? Bagaimana?


32
2018-01-14 14:15


asal


Jawaban:


OpenID Connect hanya mendukung Penemuan yang dimaksudkan untuk menemukan Penyedia Anda berdasarkan beberapa petunjuk yang Anda berikan (email, akun, URL, domain, dll.); itu tidak akan memberi Anda pengenal tetap yang Anda bisa melimpahkan otentikasi ke Penyedia yang dapat dikonfigurasi sesuai pilihan Anda.

Jadi jika Anda hanya ingin menggunakan URI khusus untuk menemukan penyedia Anda, Anda dapat menggunakan pendekatan yang diberikan Nat (kecuali untuk bit terakhir yang tidak dan tidak dapat dilakukan oleh Google dan dengan asumsi bahwa SO mendukung Discovery).

Tetapi jika Anda menginginkan delegasi yang sebenarnya, sehingga RP dapat menggunakan identifier yang dikembalikan oleh OP yang persisten atas OP yang berbeda yang Anda delegasikan, maka Anda tidak bisa.

Untuk StackOverflow Anda mungkin tidak memerlukan salah satu dari itu: SO menggunakan identifier / akun utama sendiri dan Anda dapat menautkan beberapa akun ke akun itu, termasuk akun Google. Hanya jika SO akan menggunakan URI khusus Anda sebagai pengenal utamanya Anda akan memiliki masalah. Dalam hal ini tidak ada masalah dan Anda dapat:

  1. gunakan tombol masuk Google, atau
  2. ketik URI khusus Anda di kotak entri URL OpenID, dengan asumsi Anda dan telah menerapkan Discovery

Tetapi keduanya 1. dan 2. benar-benar menghasilkan hasil yang sama: mereka menemukan bahwa Google adalah tempat Anda ingin mengautentikasi.


9
2018-01-20 20:02



Dengan asumsi bahwa Anda ingin menggunakan domain Anda sendiri sebagai pengguna yang memberikan pengenal proses masuk -

  1. Pergi ke https://stackoverflow.com/users/login-add?returnUrl=%2Fusers%2Fcurrent dan Tambahkan info masuk menggunakan Google. Ini akan menambahkan pengidentifikasi Google OpenID Connect ke akun Anda.
  2. Hosti dokumen penemuan OpenID Connect di domain Anda (lihat http://openid.net/specs/openid-connect-discovery-1_0.html#URLSyntax untuk detailnya.)
  3. Tunggu hingga StackOverflow mulai mendukung penemuan OpenID Connect
  4. Menggunakan http://tupelo-schneck.org/robert sebagai pengenal pengguna

Selain itu, jika StackOverflow mendukung OpenID Connect Migration 1.0, dan mengasumsikan bahwa Google mengembalikan domain kustom Anda claim_id dalam respons Migrasi, maka:

  1. Host dokumen JSON seperti yang dijelaskan dalam http://openid.net/specs/openid-connect-migration-1_0.html#VerifyOPAuthority di domain Anda.

akan memuluskan jalanmu.


7
2018-01-19 10:36



Mengalihkan penyedia OpenID Anda dari Google ke Yahoo! di situs Anda mungkin berhasil untuk Anda, sampai Yahoo! berhenti fitur OpenID 2.0-nya.

Namun, jika Anda setuju dengan saran pertama Nat, itu akan menjadi cara yang lebih stabil untuk waktu yang lebih lama.


-4
2018-01-20 00:25