gpt4 book ai didi

java - 插件之间的 Atlassian Confluence 通信/身份验证

转载 作者:行者123 更新时间:2023-11-30 08:35:27 26 4
gpt4 key购买 nike

我正在(新手)开发一个宏插件,该插件基于现有插件通过其 REST API 提供的数据。它们将在 Confluence 5.9 版本的同一个实例上运行。

我不能使用插件的 Java API,因为它只提供对非常有限数量的类的访问,所以我决定使用 Rest。

鉴于用户已经通过 Confluence 进行了身份验证,是否有任何方法可以将我当前的用户凭据从我的插件 Java Rest 客户端传递给另一个,最好不要使用基本身份验证?

到目前为止,我已经尝试过:

  1. 共享访问层 - 这显然用于使用方法 Request#addTrustedTokenAuthentication() 但在 SAL 3.0.5 中已弃用,见SAL Documentation (outdated?) , 和 SAL Version Matrix

  2. ApplicationLink - 允许我链接到另一个应用程序,但显然无法链接回同一个 Confluence 实例

  3. SAL TrustedRequestFactory- 评论 atlassian answer表明可能有一种使用它的方法,但我似乎无法弄清楚(还)。

  4. 我还尝试阅读 atlassian 文档并在 atlassian answers 上发布了一个类似的问题 here .我并不是要重复发帖,但不幸的是,看看该平台上的其他问题,似乎很少有人能及时得到答复,所以我想在这里试试运气。

最佳答案

这似乎不是一个很常见的问题,但我想我会发布我们最终是如何解决这个问题的,以防再次需要它:

@Component
public class RestClient {

@ComponentImport
private TrustedTokenFactory tokenFactory;

// [...]
public String doRequest(HttpClient client, String url) throws Exception {
TrustedTokenAuthenticator auth =
new TrustedTokenAuthenticator(tokenFactory);
HttpMethod method = auth.makeMethod(client, url);
try {
// add request headers, etc...
int statusCode = client.executeMethod(method);
// be sure to use response data here, catch exceptions...
} finally {
method.releaseConnection();
}
}
}

关于java - 插件之间的 Atlassian Confluence 通信/身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38196994/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com