首页 > 解决方案 > WSO2 ESB。以编程方式访问 Secure Vault

问题描述

我正在用 Java(org.apache.synapse.rest.Handler接口)实现 REST API 的处理程序。有一种情况,当我需要访问 Secure Vault 并获得价值时。我知道您可以按expression="wso2:vault-lookup('YOUR.KEY.HERE')"顺序实现此目的,但在处理程序中找不到执行此操作的 api。我相信这org.apache.synapse.MessageContext会有所帮助,但不确定如何。

标签: wso2wso2esb

解决方案


您可以在自定义处理程序中使用以下代码段。

 public String getSecretPassword(String alias, MessageContext messageContext){
     RegistrySecretRepository regRepo = new RegistrySecretRepository();
     regRepo.setSynCtx(messageContext);
     return regRepo.getSecret(alias); 
    }

pom.xml的依赖,版本需要根据你的产品版本而改变。

<dependency>
    <groupId>org.wso2.carbon</groupId>
    <artifactId>org.wso2.carbon.mediation.security</artifactId>
    <version>4.2.0</version>
</dependency

请参考 - http://malantech.blogspot.com/2016/10/basic-authentication-handler-with.html

谢谢


推荐阅读