SSO的Jersey身份验证

时间:2019-03-20 16:17:37

标签: java rest jersey jira

我当前正在尝试通过Jersey访问Jira REST。 问题在于,为我们的Jira设置了单点登录。 使用“ client.addFilter(new HTTPBasicAuthFilter(...)”的身份验证不起作用。 如果我通过浏览器访问Jira,然后将接收到的cookie硬编码到Jersey中,则可以访问Jira REST。

我的问题现在是如何通过SSO登录泽西岛。 从我看到的内容来看,单击SSO页面上的“登录”只是发送带有请求正文(例如“ username =&password =&login-form-type = pwd”)的POST请求。 因此,我应该能够以我猜的相同方式使用Jersey来检索Cookie。

干杯!

1 个答案:

答案 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。

可能不是理想的方法,但是它可以工作。

How to run ghostdriver with Selenium using java