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