Closed kennywgx closed 3 months ago
verificationToken 是必须的,不能没有。
@maemual 可是后台可以不设置verificationToken啊,因为机器人比较多,之前没用sdk的时候自己解析这种情况是可以通过验证的,机器人比较多就这样用了,中间换成了sdk,一切业务处理逻辑都正常,但是现在有新的机器人就发现这个url配不上去了
下面都有判空了,希望这里上面(CardActionHandler.java:126)这里也判空一下,!empty && !equal的时候抛出验证不通过
@maemual 可是后台可以不设置verificationToken啊,因为机器人比较多,之前没用sdk的时候自己解析这种情况是可以通过验证的,机器人比较多就这样用了,中间换成了sdk,一切业务处理逻辑都正常,但是现在有新的机器人就发现这个url配不上去了
验证机制要求必须有verificationToken,否则没法认证你的 url 的身份的合法性。
@maemual 可是后台可以不设置verificationToken啊,因为机器人比较多,之前没用sdk的时候自己解析这种情况是可以通过验证的,机器人比较多就这样用了,中间换成了sdk,一切业务处理逻辑都正常,但是现在有新的机器人就发现这个url配不上去了
验证机制要求必须有verificationToken,否则没法认证你的 url 的身份的合法性。
hi,我仔细思考了下,url都我自己配置的,而且我们是自己内部应用,我也明白我这个设置的风险,但是选择权应该在用户手里,出于历史原因在迁移sdk时还需要兼容以前的老代码,所以希望延用没有token的机器人,既然后台支持这个设置,那sdk就应该兼容,希望你能明白维护老代码就是会存在一些不是那么理想的场景(我也想吐血)。
而且,代码里“验签”的逻辑是支持token为空的,我们代码没有token也跑了很久了没问题,不支持null token的仅仅是填url这里的challenge验证操作而已,所以目前这个限制,仅仅作用于“我验证我自己url的合法性“这个场景,并没有真正起到多大的作用
我重新找业务方确认了一下逻辑,并且实验测试一下,两个参数都设置空字符串,是可以正常验证通过的。
我重新找业务方确认了一下逻辑,并且实验测试一下,两个参数都设置空字符串,是可以正常验证通过的。
之前我同事说verificationToken=""会报challenge不匹配,但我刚测试了是可以通过的,谢谢~
我的机器人不设置verificationToken,sdk应该支持传null或者"",如果按下面代码传null,会报空指针,如果传"", 则token不匹配
我看了(CardActionHandler.java:126)处的代码,发现sdk这里少了token判空的处理逻辑: