Google OAuth2 - 已安装的应用程序 - 始终显示同意屏幕

时间:2014-08-12 14:19:50

标签: google-oauth

我正在尝试在C#应用程序中设置一个登录表单。登录的其中一个选项是通过Google。为此,我将Oauth2文档用于已安装的应用程序:https://developers.google.com/accounts/docs/OAuth2InstalledApp

所有内容似乎都按预期工作,但同意屏幕。我正在为每个授权代码请求显示同意屏幕。这是预期的安装应用程序?我使用以下参数:

  

redirect_uri = urn:ietf:wg:oauth:2.0:oob

     

response_type = code

我尝试将 approval_prompt 设置为 auto 并尝试将 access_type 组合到离线在线,但仍然无济于事。

请注意,使用“Web应用程序”(使用不同的客户端ID)的类似实验在我只看到一次同意屏幕的情况下工作正常。

任何帮助/建议都将不胜感激。

感谢。

1 个答案:

答案 0 :(得分:1)

对于已安装的应用程序,我们的想法是,您将获取代码并将其转换为刷新令牌并存储刷新令牌。用户不应该一次又一次登录。用户是退出应用程序还是在一段时间后删除令牌?

网络上行为不同的原因是因为我们决定提供一个"代码"没有批准的情况下(如果应用程序已经被用户批准),但此代码不能用于转换为刷新令牌。我们这样做是因为用户最终因为各种原因(cookie消失)而退出Web应用程序,并且开发人员要求提供代码"不知道用户是否已经批准。