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

安达特

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

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

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

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

  1. 共享访问层-显然用于此方法,Request#addTrustedTokenAuthentication()但在SAL 3.0.5中已弃用,请参阅SAL文档(已过时?)SAL版本矩阵

  2. ApplicationLink-将允许我链接到另一个应用程序,但是显然不可能链接回相同的Confluence实例

  3. SAL-TrustedRequestFactory对这个Atlassian答案的评论表明可能有一种使用此方法的方法,但我似乎还无法弄清楚(尚未)。

  4. 我还尝试阅读Atlassian文档,并在此处发布了有关Atlassian答案的类似问题我不是要重复发表文章,但是不幸的是,在该平台上查看其他问题时,似乎没有及时得到答复,所以我想我会在这里碰碰运气。

安达特

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

@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();
        }
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Joomla身份验证插件

来自分类Dev

Joomla身份验证插件

来自分类Dev

CakePHP身份验证插件身份关联

来自分类Dev

验证和身份验证之间的区别?

来自分类Dev

HiveMQ RESTful身份验证插件

来自分类Dev

sharepoint 插件中的身份验证

来自分类Dev

CakePHP 身份验证插件返回空的身份对象

来自分类Dev

用户身份验证和仅应用身份验证之间的区别?

来自分类Dev

未经身份验证和经过身份验证的 MPNS 之间有什么区别?

来自分类Dev

创建一个OS X身份验证插件

来自分类Dev

Google桌面身份验证器(lightdm或gdm插件)

来自分类Dev

Cakephp 3身份验证插件,登录URL不匹配

来自分类Dev

Restheart插件框架中的身份验证失败

来自分类Dev

Grails Spring安全性插件身份验证失败

来自分类Dev

Yesod身份验证路由到插件页面插值

来自分类Dev

Google桌面身份验证器(lightdm或gdm插件)

来自分类Dev

詹金斯的Nexus Break SVN插件身份验证

来自分类Dev

Android Unity插件中的Google身份验证

来自分类Dev

构建 Mosquitto MQTT 身份验证插件问题

来自分类Dev

需要动态身份验证网址的 Gmail 插件问题

来自分类Dev

如何在插件之间通信?

来自分类Dev

网站和自有API之间的身份验证

来自分类Dev

处理角度指令之间的交互以进行身份验证

来自分类Dev

在两个Django项目之间同步身份验证

来自分类Dev

Firebase身份验证和Firestore之间的数据重复

来自分类Dev

在Firebase应用之间对用户进行身份验证

来自分类Dev

Web和类库项目之间的共享身份验证

来自分类Dev

小部件和SBT之间的身份验证

来自分类Dev

在Android应用之间共享身份验证令牌