2017-07-17 73 views
1

是否可以在Confluence插件中获取用户名和密码? 的Usernam工作对我来说是这样的:从Atlassian插件获取当前用户的证书

ApplicationUser user = userUtil.getUserByName(userManager.getRemoteUsername(request)); 

我要与当前用户连接到吉拉REST API。

+0

获取密码?这将是一个巨大的安全缺陷。我希望这不起作用。 –

回答

0

由于@Philipp Sander已经评论过,无法检索用户的密码。 Confluence只以加密方式存储密码,所以它甚至不知道用户密码。

但是,由于您正在讨论Confluence插件,因此还有另一种方法可以通过使用应用程序链接与其他Atlassian应用程序的REST API进行交谈。

如果需要可以让用户在他们的合流的应用程序链接到JIRA,那么你的插件可以让使用ApplicationLinkService的getApplicationLinks方法ApplicationLink例如:

java.lang.Iterable<ApplicationLink> getApplicationLinks(java.lang.Class<? extends ApplicationType> type) 

    Retrieves all ApplicationLinks of a particular ApplicationType. 

接下来,你可以调用createAuthenticatedRequestFactory方法您ApplicationLink实例,如:

ApplicationLinkRequestFactory createAuthenticatedRequestFactory() 

    The ApplicationLinkRequestFactory returned by this method will choose a single AuthenticationProvider for automatically authenticating created Request objects. 

而且RequestFactory能够REST请求发送到你靶向应用,即。 JIRA。

有关更多信息,还可以查看SAL API文档,其中有一个关于如何使用RequestFactory的示例。

Atlassian Community上还有this useful related question,它解释了如何使用JAXB获取RequestFactory来整理对象。