谷歌Oauth2同意屏幕允许按钮被禁用。

问题描述 投票:0回答:1

我有一个Window Forms应用程序,使用Google Oauth2进行用户认证。在Google Console中,我使用我的学校电子邮件创建了一个项目,这意味着它有一个组织,我已经将我的项目设置为 "内部",这意味着我不需要验证应用程序(如果我错了,请纠正我)。我没有启用任何库API,因为我使用的唯一范围是 "openid电子邮件配置文件"。

去年,该应用完美运行。用户可以进行身份验证,应用程序可以从谷歌获得访问令牌,然后与我的另一台服务器交换代码以访问其他API.然而,我最近发现,同意屏幕中的 "允许 "按钮被禁用,以及 "拒绝 "按钮,也。

我看了一下,不像是 "未验证的应用",因为它只是禁用了这些按钮,大家可以看下面的图片。

有谁知道桌面应用的Google Oauth2发生了什么?我看过

this line 在Google Oauth2文档中,我不知道它到底是什么意思。

Allow button disabled

winforms oauth-2.0 google-api google-authentication
1个回答
0
投票

答案为 注意:已安装的应用或设备不支持增量授权。我不知道它的具体含义是什么。

在请求用户访问用户数据或其他资源的权限时,可以在初始请求中预先请求所有的作用域,也可以只根据需要请求作用域,用 增量授权. 使用增量授权,您的应用程序最初只请求启动您的应用程序所需的作用域,然后在需要新的权限时请求额外的作用域,并在上下文中向用户说明请求的原因。

它不支持已安装的应用程序,如您的win forms应用程序。 只需一次性请求所有的作用域并再次尝试。

实际问题的可能解决方案

想法1:

尝试启用 "不那么安全的应用程序 "选项,更多信息,请参阅这里。不太安全的应用程序& 你的谷歌帐户

理念二。

内部应用只适用于同一G套件域内的用户 而且该应用与你所有用户所属的云组织相关联,你不需要通过验证。

我会仔细检查你是否登录了正确的gsuite账号。


0
投票

经过在互联网上的研究,原因是Google更新了反钓鱼协议 "MITM - Man In The Middle",所以像Winform中的webbrowser控件这样的嵌入式浏览器现在不能再做Oauth的事情了,因为它不能保证token的安全。https:/security.googleblog.com201904better-protection-against man-in-middle.html。https:/developers.googleblog.com201608modernizing-oauth-interactions-in-native-apps.html。

为了解决这个问题,我使用设备的web浏览器而不是web。我使用这个github的代码https:/github.comgooglesamplesoauth-apps-for-windows。

我要结束这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.