0

我有一個Django/python站點,並已設置Python社交身份驗證以允許使用Google帳戶進行身份驗證,這實際上是特定於我的域的。我們有一個通過谷歌賬戶託管的域名。Google OAuth2白名單,從列表中刪除未授權

我已將白名單設置爲只接受來自我的域的電子郵件帳戶。這是正常工作。但是,當我進入身份驗證窗口時,會顯示我擁有的所有Google帳戶 - 有兩個Gmail帳戶由於白名單選項而無法進行身份驗證,但帳戶仍顯示。用戶不會知道他們不能使用其他帳戶,直到他們嘗試並得到一個令人討厭的錯誤消息「AuthForbidden:您的憑據不被允許。」。

任何方式,我可以限制他們看到的帳戶,他們可以實際使用的列表?我有一位同事爲一個運行在ColdFusion上的不同網站設​​置了這個功能,並且爲元數據內容標題設置了白名單的內容,並通過javascript運行登錄,這使得他可以使用範圍指定域名,並且限制了帳號僅對指定的域可見。

在此先感謝。

更新:當我重定向到谷歌身份驗證頁面時,我可以將& hd = domain.com添加到限制顯示的查詢字符串中。如何在重定向到此登錄頁面時強制設置此變量?

回答

0

找到它。

SOCIAL_AUTH_GOOGLE_OAUTH2_AUTH_EXTRA_ARGUMENTS = { 
    'hd': 'domain.com', 
    'access_type': 'online', 
} 

我曾試圖將它添加到源代碼,但是當我打開網頁,它會自動登錄我的,所以我想的東西被打破。事實證明,如果您修改這些參數,它會將access_type設置爲默認離線,因此它會自動將我離線登錄。我不得不添加'access_type': 'online'來防止這種情況。