我当前正在尝试通过Jersey访问Jira REST。 问题在于,为我们的Jira设置了单点登录。 使用“ client.addFilter(new HTTPBasicAuthFilter(...)”的身份验证不起作用。 如果我通过浏览器访问Jira,然后将接收到的cookie硬编码到Jersey中,则可以访问Jira REST。
我的问题现在是如何通过SSO登录泽西岛。 从我看到的内容来看,单击SSO页面上的“登录”只是发送带有请求正文(例如“ username =&password =&login-form-type = pwd”)的POST请求。 因此,我应该能够以我猜的相同方式使用Jersey来检索Cookie。
干杯!
答案 0 :(得分:0)
我设法用Selenium Ghost驱动程序完成了它。
DesiredCapabilities caps = new DesiredCapabilities();
caps.setCapability(PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY,
"/Path/to/bin/phantomjs");
driver = new PhantomJSDriver(caps);
然后,我使用驱动程序输入用户名和密码,登录,获取新的cookie,然后在Jersey中使用此cookie。
可能不是理想的方法,但是它可以工作。