以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  钉钉连接器 APISecret在狐表里怎么处理  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=183650)

--  作者:zjjlngj
--  发布时间:2022/11/11 10:48:00
--  钉钉连接器 APISecret在狐表里怎么处理

签名与验签

如注册时提供了apiSecret,则收到的HTTP请求Header中包含签名相关Header:
? x-ddpaas-signature-timestamp: <签名时时间戳>
? x-ddpaas-signature: <签名串>

其中 <签名串> = calcSignature(apiSecret, <签名时时间戳>),apiSecret是注册时指定的签名密钥
接口提供方应使用如下方法计算签名并验证签名串是否正确以防未授权的调用:
Java
复制代码
public static String calcSignature(String apiSecret, long ts) {
try {
Mac mac = Mac.getInstance("HmacSHA256");
SecretKeySpec key = new SecretKeySpec(apiSecret.getBytes(), "HmacSHA256");
mac.init(key);
return Base64.getEncoder()
.encodeToString(mac.doFinal(Long.toString(ts).getBytes()));
} catch (NoSuchAlgorithmException | InvalidKeyException e) {
throw new GatewayException(ErrorCodeConstant.SYSTEM_ERROR,
"sign api secret failed", e);
}
}

--  作者:有点蓝
--  发布时间:2022/11/11 10:51:00
--  
论坛搜索“钉钉”,比如
http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=136663&replyID=&skin=1

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=145793&replyID=&skin=1

建议直接调用钉钉的sdk,就不要自己做这些东西了

--  作者:zjjlngj
--  发布时间:2022/11/11 10:56:00
--  
不行啊   不能用sdk啊   这对其他人也有个参考作用
--  作者:zjjlngj
--  发布时间:2022/11/11 11:32:00
--  
麻烦看下
--  作者:有点蓝
--  发布时间:2022/11/11 11:47:00
--  
去找sdk .net的源码看看是怎么做的吧。

sha1算法可以看看:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=166172&skin=0