oauth2:Logoff当前登录谷歌用户,然后从我的应用程序

时间:2017-04-14 14:51:41

标签: android oauth-2.0 logoff

假设user1已在我的手机Chrome浏览器上登录了他的Gmail帐户。 我正在使用google rest api编写一个Android应用程序,而前提条件是oauth2授权。如果我从我的应用程序发送授权URL以在浏览器中打开,则假定用户1的帐户被认证并且显示了授权页面(带有允许/拒绝)按钮。我如何以编程方式,注销现有用户,然后从我的应用程序发送oauth2网址,以便用户明确输入他的凭据,并授予对我的应用程序的oauth访问权限。

我尝试使用以下方式注销但未成功...

1)https://www.google.com/accounts/logoff?continue=https://accounts.google.com/o/oauth2/v2/auth?redirect_uri=http%3A%2F%2Flocalhost%3A8080&prompt=consent&response_type=code&client_id=blah-blah-blah"& scope =" blah blah"

2)https://accounts.google.com/logoff?continue=https://accounts.google.com/o/oauth2/v2/auth?redirect_uri=http%3A%2F%2Flocalhost%3A8080&prompt=consent&response_type=code&client_id=blah-blah-blah"& scope =" blah blah"

在选项2和3中,我得到一个http 400错误," response_type"丢失,但它出现在我发送的网址中。

基本上我的目的是注销现有的谷歌用户并明确让我的应用程序的用户登录他的凭据,这样oauth2只针对他的帐户而不是其他人(错误地)。

1 个答案:

答案 0 :(得分:2)

我在http请求中添加了参数“prompt = select_account + consent”,它对我有用。无论登录浏览器的当前用户如何,都会为用户显示登录屏幕。

https://accounts.google.com/o/oauth2/v2/auth?prompt=select_account+consent