wso2 - 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
会有所帮助,但不确定如何。
解决方案
您可以在自定义处理程序中使用以下代码段。
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
谢谢
推荐阅读
- php - 我应该在 Yii 1.1 中使用什么方法在 MySQL 中求和?
- android - 如何强制 Kotlin 序列对 Kotlin 序列进行评估
- javascript - [Nodejs]如何在环回3中使用带有rest连接器的过滤器?
- python - 函数定义的 Pythonic 顺序是什么?
- android - NotificationCompat.PRIORITY_DEFAULT 在较旧的操作系统版本上没有声音
- android - 如何使用从服务中检索到的纬度和经度并在地图上显示它们?
- javascript - 将数组变量分配为收件人时,MailApp.sendEmail 返回奇怪的错误
- python - 如何在 Tkinter 中为事件启动动画循环?
- swift - 通过 AVAudioRecorder 在 WatchOS 上录制音频
- unity3d - 将按钮和照片作为游戏统一安装到屏幕上