如何強制 google openid 僅透過特定的 google 應用電子郵件進行驗證?

如何強制 google openid 僅透過特定的 google 應用電子郵件進行驗證?

我試圖了解 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/summaryhttps://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帳戶會根據上下文自動從帳戶選擇器中選擇您的最後一個活動帳戶。

因此,如果您正在註冊,它總是會向您顯示帳戶選擇器,但如果您正在登錄,它可能只會根據您的活動進行自動登入(如果這有意義的話)。

答案2

嘗試提供您的完整電子郵件 ID,即,如果您的公司郵件 ID 是[電子郵件受保護]和 example.com 使用Google商業郵件,然後在進行身份驗證時,您應該將使用者名稱指定為[電子郵件受保護]而不僅僅是 abc。這也適用於 gtalk。

相關內容