首页 > 解决方案 > Google Oauth2 同意屏幕允许按钮已禁用

问题描述

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

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

我环顾四周,它不像“未经验证的应用程序”,因为它只是禁用了按钮,你可以看到下面的图片。

任何人都知道 Google Oauth2 桌面应用程序发生了什么?我读过了

这条线在 Google Oauth2 Docs 中,我不知道它到底是什么意思。

允许按钮已禁用

标签: winformsgoogle-apigoogle-oauthgoogle-authentication

解决方案


经过网上的更多研究,原因是谷歌更新了反钓鱼协议“MITM - Man In The Middle”,使得像Winform中的webbrowser控件这样的嵌入式网络浏览器现在不能再做Oauth的事情了,因为它不能保护令牌。您可以在下面的链接中阅读它 https://security.googleblog.com/2019/04/better-protection-against-man-in-middle.html https://developers.googleblog.com/2016/08/modernizing- oauth-interactions-in-native-apps.html

为了解决这个问题,我使用设备网络浏览器而不是网络。我使用来自这个 github 的代码 https://github.com/googlesamples/oauth-apps-for-windows

我要结束这个问题。


推荐阅读