我目前正在尝试使用Jersey访问Jira REST。问题是,对于我们的Jira,设置了单点登录。使用“client.addFilter验证”(新的HTTPBasicAuthFilter(...)不起作用。如果我通过浏览器访问Jira,然后将收到的cookie硬编码到Jersey中,我就可以访问Jira REST。
我现在的问题是如何通过SSO登录泽西岛。从我所看到的单击SSO页面上的“登录”只是发送一个请求主体的POST请求,如“username =&password =&login-form-type = pwd”。所以我应该能够像我猜的那样用Jersey检索一个cookie ...
干杯!
我设法用Selenium Ghost Driver完成它。
DesiredCapabilities caps = new DesiredCapabilities();
caps.setCapability(PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY,
"/Path/to/bin/phantomjs");
driver = new PhantomJSDriver(caps);
之后我使用驱动程序输入用户名和密码,登录,获取新的cookie,然后将此cookie与Jersey一起使用。
可能不是理想的方式,但它的工作原理。