-------------------------
-------------------------
-------------------------
-------------------------
-------------------------
-------------------------
-------------------------
-------------------------
这些参数不能空着
-------------------------
是的
-------------------------
你的IP是公网IP么?
加解密需要严格按照文档的说明来做
-------------------------
数据加密密钥 :回调消息加解密参数,是AES密钥的Base64编码,用于解密回调消息内容对应的密文。本套件下相关应用产生的回调消息都使用该值来解密。
当您注册套件时,钉钉服务器为了避免无效推送,将会验证回调url的有效性,对回调url推送“验证回调URL有效性事件”,收到推送后您需要做正确的处理,才能成功创建套件。详细处理步骤请查看回调接口和“验证回调URL有效性事件”。
https://open-doc.dingtalk.com/doc2/detail.htm?spm=a219a.7629140.0.0.HAJ6w3&treeId=175&articleId=104945&docType=1
a.验证回调URL有效性事件
此事件的推送会发生在注册套件,点击下图按钮之时。注意,若未能成功验证回调URL有效性,套件将不能被创建。
1
dingTalkEncryptor = new DingTalkEncryptor(Env.TOKEN, Env.ENCODING_AES_KEY, Env.CREATE_SUITE_KEY);//套件在创建中,使用默认的SUITE_KEY进行加解密
此时,由于套件尚未创建成功,还未生成套件的SUITE_KEY,所以在解密post数据的时候,需要使用默认的Env.CREATE_SUITE_KEY(默认值为“suite4xxxxxxxxxxxxxxx”)来解密,以java-demo代码为例(Env为Demo中配置文件),如右,服务端demo已经做了配置。
同时,Demo的配置文件(Env.java)中还需要根据套件创建时填写的TOKEN 和 ENCODING_AES_KEY做相应的更改。
待成功处理『验证回调URL有效性事件』事件,套件创建成功之后,就不能再使用默认的SUITE_KEY了,需要使用套件本身的SUITE_KEY,所以需要在Env.java中配置SUITE_KEY,同时将新创建套件中的SUITE_SECRET配置到Env.java中,然后重新部署代码,此时将用下面的语句进行加解密。因为推送ticket是二十分钟推送一次,再次部署也需要等待二十分钟服务端才会推送,后续会优化该逻辑,保证即时推送,提高推送效率。
dingTalkEncryptor = new DingTalkEncryptor(Env.TOKEN, Env.ENCODING_AES_KEY, Env.SUITE_KEY);//套件创建成功后,使用套件本身的SUITE_KEY进行加解密
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。