Android SSO登录弹出窗口

时间:2011-06-12 08:37:10

标签: android url popup single-sign-on

我需要编写一个Android应用程序,该应用程序与基于Web的系统集成,该系统具有SSO(单点登录)身份验证。系统将弹出一个提示输入用户名和密码的网页,如果登录成功,则会设置一个带有加密会话ID的(基于内存的)cookie,然后弹出窗口将使用javascript窗口“自杀”。 close()函数调用。真的是所有标准的东西,我在Windows上编写的Excel VBA应用程序与这个系统完美配合 - 用户想要登录,SSO服务器会弹出一个IE窗口,用户提供他们的凭据,窗口消失,从此从Excel集成到远程系统的工作原理是因为创建了会话cookie。

我尝试使用Android应用做同样的事情。我用WebView调用调用了SSO登录页面,它显示得非常好,我登录后,希望登录弹出页面消失,我的Android应用程序继续。但是,我的问题是在Android中,对windows.close()的javascript调用被有效地忽略,它所做的一切都是空白屏幕并让它显示出来。多数民众赞成,我不关心窗口是否仍然存在,只要我的cookie被创建,用户就可以轻松导航回我的应用程序。 所以这是我的问题:

如何弹出URL,让用户登录SSO,然后轻松让用户返回我的应用程序。

我做了大量的阅读和实验,但已经到了一堵砖墙。

谢谢,

史蒂夫

1 个答案:

答案 0 :(得分:0)

可能您已经知道了,但默认情况下,在WebView小部件中关闭了JavaScript。如果您要启用JavaScript,请在​​getSettings().setJavaScriptEnabled(true)实例上调用WebView以启用JavaScript。 我写过twitter客户端,他们使用OAuth进行身份验证。登录后,他们只需将浏览器重定向到您提供的页面,即可注册此操作的活动。 在你的情况下,如果他们只是关闭窗口,可能会显示堆栈中的先前活动。