SignAuthenticator
SignAuthenticator
新建SignAuthenticator鉴权器

Sign签名算法
将业务请求参数和appKey以字典序排序后拼接再添加密钥appSecret的值,再计算拼接后字符串的MD5当作sign
例如,某个http接口为Post请求,请求数据为:
{ "code":"001", "name":"mule", "message":"sign demo"}且appKey的值为demoKey,appSecret的值为demoSecret
则生成sign的java代码如下:
public class Sign { public String sign() { String appSecret = "demoSecret"; Map<String, Object> originMap = JSON.parseObject("{\"code\":\"001\",\"name\":\"mule\",\"message\":\"sign demo\", \"appKey\":\"demoKey\"}", Map.class); Map<String, Object> sortedBody = new TreeMap<>(originMap); String bodyString = sortedBody.entrySet().stream() .map(entry -> entry.getKey() + "=" + entry.getValue()) .collect(Collectors.joining("&")) + appSecret; return DigestUtils.md5Hex(bodyString); }}调用示例
通过上图新建鉴权器时配置的参数,假设新建http服务监听触发器时path为*/demo/authenticator*,且入参模型的请求数据为:
{ "code":"001", "name":"mule", "message":"sign demo"}则需要如下图所示调用:

箭头所示的域名为erda中集成平台 runtime的域名,各个项目的runtime域名不一致。自己使用时需要根据项目到对应的集成平台应用中查看该域名
