如果内置 WebView 浏览器无法访问默认用户浏览器的 cookie,那么在 Android 中使用 OAuth 2.0 客户端授权有什么意义?我的意思是,如果我http://blablabla.com/authorize?client_id=APP_ID&redirect_uri=REDIRECT_URI&response_type=token
在 WebView 中打开一些 oauth-url(例如 ) - 无论如何都会提示用户输入他的凭据以登录“blablabla.com”社交网络。因为即使他已经使用他的某些浏览器(Opera 或 Dolphin,或默认浏览器)登录,WebView 浏览器也不知道任何有关相应 cookie 的信息。
编辑:
我会尽量让它更清楚一点。
主要目标是简化我的应用程序中的登录程序。我想实现我们可以在许多网站上看到的这种机制:“登录... Facebook/Google/Twitter/whatever”。在桌面浏览器中,这种方法非常有效,因为最终用户已经在此浏览器中登录了目标服务。所以基本上要登录我的网站,他只需要:
- 按下“使用...登录”按钮
- 在重定向的窗口/弹出窗口上按“批准/确认”。
- 被重定向回来,已经登录。
主要好处是用户不需要输入他的电子邮件/姓名/任何东西——我已经从他的社交网络帐户中提取了它。
我想知道如何在 Android 上获得相同的效果。问题是,正如我所见,我们不能让用户避免输入密码,因为应用程序(WebView)永远不知道他是否登录到某个外部服务。这就是为什么无论如何都会提示用户输入他的一些详细信息,并且所有 OAuth 优势都将消失。