Google OAuth 2.0和带有嵌入式浏览器的Captive门户



Android和IOS设备都有一种机制来检测Guest Wifi网络上的捕获门户。每当检测到捕获门户时,这些设备都会启动嵌入式浏览器,以显示捕获门户。

我的专属门户允许我的客人使用他们的谷歌身份验证凭据访问我的wifi。

该门户触发带有谷歌服务的OAuth 2.0,并获取用户配置文件。

一切都很好,不幸的是,谷歌于4月22日决定停止在嵌入式浏览器中支持OAuth 2.0。

https://developers.googleblog.com/2016/08/modernizing-oauth-interactions-in-native-apps.html

据我所知,在捕获门户检测过程中,没有办法强制IOS或Android设备启动真正的浏览器。

既然这个嵌入式浏览器无法控制,我有什么选择可以允许我的客人使用他们的谷歌凭据?如果没有其他选择,我将不得不迁移到目前为止没有此限制的Facebook验证模块。

谢谢,William

我显然不够冷静,无法发表评论,所以我只回复说,尽管@nvagr表示谷歌不会在CNA中被破坏,但确实如此。你不能在iOS设备上使用谷歌oAuth登录。您将得到一个403:disallowed_useragent,因为它使用CNA。

更新12/12/19:谷歌将不再豁免OAuth客户端在专属门户助理中登录谷歌帐户。如原帖子所述,谷歌于2016年8月宣布,将从2017年4月20日起取消对嵌入网页视图中显示的谷歌登录产品的支持。

如果您在Apple captive门户中遇到此问题,则在captive网页中遇到问题的用户当前可以通过采取以下几个附加步骤访问网络:

  • 打开设置应用程序
  • 打开WiFi设置窗格
  • 选择网络名称旁边的信息图标
  • 关闭网络的自动登录
  • 在Safari浏览器中打开网站。示例:https://captive.apple.com/
  • 在Safari中网络提供的捕获页面上完成所需步骤

或者,用户可以在收到提示时选择"无互联网"选项,并在Safari浏览器中导航到URL,从而选择使用网络。

如果您无法在非苹果专属门户网站上使用谷歌登录,不幸的是,目前不支持谷歌登录。

更新时间:2019年1月23日:如果您的客户需要在专属门户内进行登录,请将客户id、门户和用户描述以及其他详细信息发送至oauth-feedback@google.com

更新(2017年4月7日):目前我们已经决定,我们不会破坏谷歌在专属门户内的登录。如果你有一个坏了的客户端,请把客户端id发给我。

感谢William提供有关Captive门户网站的说明。我们(谷歌身份团队)需要做一些调查,以决定如何最好地支持您的用例。我会回复这个帖子。敬请关注。

最新更新