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

时间:2017-01-24 13:30:58

标签: android ios wifi google-oauth captiveportal

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

我的强制门户网站允许我的访客wifi使用他们的Google身份验证凭据,以便允许访问我的无线网络。

门户网站通过Google服务触发OAuth 2.0并返回用户个人资料。

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

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

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

由于无法控制嵌入式浏览器,我可以选择允许访客使用其Google凭据的选项吗? 如果没有其他选择,我将不得不迁移到今天没有此限制的Facebook身份验证模块。

谢谢, 威廉

2 个答案:

答案 0 :(得分:2)

更新1/23/2019:如果您的客户端需要在强制网络门户中进行登录,请将客户端ID,门户网站和用户的说明以及其他详细信息发送到oauth-feedback @ google .COM

更新(2017年4月7日):目前我们已经决定,我们不会在强制网络门户内打破Google登录。如果您的客户端确实已损坏,请将客户端ID发送给我。

感谢William关于Captive portal的这一说明。我们(Google Identity团队)需要做一些调查,以决定如何最好地支持您的用例。我将回复此主题。请继续关注。

答案 1 :(得分:2)

我显然不够评论,所以尽管@nvagr声称谷歌不会在CNA中被打破,但我会回答这个问题。您无法在iOS设备上使用Google oAuth登录。您将获得403:disallowed_useragent,因为它使用CNA。