
我試圖了解 google openid 的工作方式,但目前無濟於事。我有一個谷歌商業應用程序,有自己的網域和電子郵件。我也有我的個人 Gmail 帳號。
當我登入兩個帳戶時,請嘗試使用 google 的 openid url 在隨機網站上進行身份驗證https://www.google.com/accounts/o8/系統要求我在 Gmail 和網域電子郵件之間進行選擇。無論我選擇哪一個,身份驗證都會成功(我能夠在 stackoverflow 上建立 2 個不同的帳戶,一個用於兩封電子郵件)。我想找到一個“自動選擇”屬於domain.com 的電子郵件並忽略任何其他電子郵件的URL。
閱讀谷歌身份驗證的工作方式( https://developers.google.com/google-apps/sso/openid_reference_implementation,https://sites.google.com/site/oauthgoog/UXFedLogin/summary和https://sites.google.com/site/oauthgoog/fedlogininterp/openiddiscovery),我嘗試用https://www.google.com/accounts/o8/site-xrds?hd=domain.com然後與https://www.google.com/accounts/o8/site-xrds?ns=2&hd=domain.com這確實將我重定向到谷歌的身份驗證,並且只允許我的domain.com電子郵件。然而,在成功登入谷歌後,我沒有在網站上獲得身份驗證。
我嘗試過https://superuser.com/與http://www.openid-ldap.org/test.php都失敗了,第二個告訴我:
OpenID authentication failed: No OpenID information found at http://domain.com/openid?id=114987420251804701387
知道我該做什麼嗎?如果可能的話,我不想在我的網域上設定網頁伺服器。
謝謝
答案1
login_hint
幾乎晚了 8 年,但是,如果您想授權特定電子郵件,則必須在授權請求中發送參數。
話雖如此,不要引用我的話,但Google帳戶會根據上下文自動從帳戶選擇器中選擇您的最後一個活動帳戶。
因此,如果您正在註冊,它總是會向您顯示帳戶選擇器,但如果您正在登錄,它可能只會根據您的活動進行自動登入(如果這有意義的話)。