2015-07-21 82 views
5

有時,當用戶使用Google的OAuth 2.0登錄網站時,他們會選擇錯誤的帳戶進行登錄。通常這不是問題,如果用戶有多個帳戶在瀏覽器中註冊,Google會自動顯示用戶選擇屏幕: user selection screen如何使用Google的OAuth 2.0強制單個帳戶用戶的帳戶登錄?

但是,如果用戶只有一個帳戶並已登錄,該屏幕被跳過。相反,我需要Google的登錄面板始終顯示,以便我可以確保用戶可以選擇嘗試輸入正確的帳戶。我嘗試使用approval_prompt = "force",但是這強制接受權限而不是簡單地顯示登錄頁面。 Google's one user login
如何強制Google的OAuth 2.0始終顯示登錄屏幕?
(永不自動跳過)

+0

下面只接受的答案顯示帳戶選擇和實際上並不強制用戶登錄時,你有沒有找到一個實際的解決方案? – blented

+0

@blented - 對不起,「prompt = select_account」做了我所需要的,我認爲可能有單獨的方法來強制登錄。但是,再一次,這是谷歌的一面,所以他們可能會認爲在一些情況下沒有必要。 –

回答

4

參數prompt=select_account添加到您的授權請求。

這將導致帳戶選擇器始終顯示,即使用戶只登錄到一個帳戶。用戶將能夠從他們的賬戶中進行選擇,或者添加一個新賬戶。

例如:https://accounts.google.com/o/oauth2/auth?redirect_uri=https%3A%2F%2Fdevelopers.google.com%2Foauthplayground&response_type=code&client_id=407408718192.apps.googleusercontent.com&scope=profile+email&access_type=offline&prompt=select_account

+0

我會給它一個機會,謝謝你的建議。 –

+1

它的工作,再次感謝! –

+0

@William:您的技術將適用於Hybrid移動應用程序嗎? – mi6crazyheart