2015-12-15 78 views
10

我想将Web登录会话转移到我的Java桌面应用程序,以便我再次不想在我的桌面应用程序中登录。我们可以从java桌面应用程序中读取浏览器保存的cookie吗?

一旦用户登录到我的Web应用程序,我在用户系统上设置了一些cookie,一旦他启动了我的独立应用程序我想使用存储在这里的凭据将我的用户登录到应用程序而不要求重新登录。

我的问题: - 我可以访问cookie来读取Auth令牌和其他参数吗?这是适当的解决方案吗? - 要达到上述要求,有没有合适的解决方案。

对于我来说,Cookie看起来像是一个解决方案。但实质上,我想要在Web应用程序和独立应用程序之间进行无缝集成。有什么样的解决方案可用于此?

+0

在浏览器之间共享cookie是不可能的。我认为应用程序也是如此。 http://superuser.com/questions/271710/synchronize-cookies-between-browsers ..不确定如果您将浏览器嵌入到您的应用中,是否可以读取cookie。 – Jayan

回答

1

不知道Skype的是怎么做的,但它看起来像的We​​bEx和的GoToMeeting都依赖于那些需要允许自定义浏览器扩展以“与合作原生应用程序进行沟通”(Chrome中的示例设置)。

我找不到任何原生的JNLP,允许您阅读浏览器cookie,因为它应该是沙盒。但是,通过Java应用程序进行日志记录后,如果有帮助,您应该可以使用JNLP Persistence APIs

1

我认为你应该做相反的事情,当你在网上登录时,将一些会话ID转移到桌面应用程序。

我的想法是在您的桌面应用程序的某个端口上运行本地主机服务器(使用Jetty)。当你在网上登录时,它会调用一个到本地服务器的URL来传输会话ID。例如:

localhost:8888/authen?sessionID=123456 

然后本地服务器将获得该sessionID参数。

如果您觉得这是适合您的,我会解释更多细节

相关问题