【发布时间】:2017-08-14 08:15:24
【问题描述】:
我们有一个基于 Android 的嵌入式设备应用程序,它使用 WebView,在其中我们使用 Google OAuth 2 登录到应用程序。不幸的是Google will soon block OAuth 2 inside WebView,我们有很多限制:
- 该设备未安装 Google 服务,因此可能没有'official' way of logging in 可以工作(或者,如果没有 Google 服务,它们中的任何一个都可以工作?)
- 我们不能只调用Android浏览器进行登录,因为它显示地址栏,这将允许用户上网,我们不允许这样做
- 我们无法完全控制设备上安装的软件:无法安装 Google 服务、更新 Android 版本、安装 Google Chrome 等...,我们只能更新我们的应用。
有了这些限制,我们还能做什么?
【问题讨论】:
-
您的应用需要用户授权才能访问自己的资源?如果没有,那么您可能不需要 OAuth。 Oauth 不是身份验证
-
不幸的是,这些是我们客户的要求,他们有我们必须用于身份验证的谷歌应用帐户。
-
要清楚,OAuth 不是身份验证。 Google 的身份验证至少需要一个网络浏览器(2FA 需要更多),这是没有办法的。
-
您是否尝试过将 oauth 流程用于电视和嵌入式设备?看看这里:developers.google.com/identity/protocols/OAuth2ForDevices
标签: android oauth oauth-2.0 google-oauth