开发者社区> 问答> 正文

jsapi鉴权失败,报52013,签名校验失败

开发第三方企业应用,进行鉴权时,发现会报签名校验失败的错误,阅读文档进行排查之后发现,在安卓手机中,dd.config进行鉴权使用的是入口页面的地址,而前端获取签名数据时使用的时当前页面的地址;ios手机中在dd.config鉴权时使用的却是当前页面的地址。
官方文档中并没有关于这个情况的解释,因此想问问大家有遇见过这个情况吗。

展开
收起
三水巷 2023-09-06 10:03:41 251 0
3 条回答
写回答
取消 提交回答
  • 当在进行dd.config鉴权时,出现52013错误码,表示签名校验失败。这通常是由于签名计算不正确或参数传递不完整导致的。
    image.png
    image.png

    下面是一些可能导致签名校验失败的常见原因和解决方法:

    1. 参数传递错误: 检查是否正确传递了所有必要的参数,包括企业授权码、时间戳、随机字符串、生成的签名等。确保没有遗漏或错误地传递参数。

    2. 签名生成错误: 确认签名生成的过程是否正确。请按照钉钉开放平台的签名生成规则进行计算,并确保使用正确的AppSecret、URL和其他参数。

    3. URL编码问题: 在生成签名之前,对URL中的参数值进行正确的编码,特别是包含非英文字符的参数值。确保编码方式与签名生成时的一致。

    4. 时间戳过期: 时间戳(timestamp)用于防止重放攻击,确保其值与服务器时间相差不大于一定范围。请确认时间戳的值在合理范围内,并尽量使用服务端的时间作为参考。

    5. AppSecret错误: 核对所使用的AppSecret是否与您在钉钉开放平台注册应用时获得的一致。如果存在多个应用,务必确认使用的是正确的AppSecret。

    6. 域名白名单问题: 确保您的应用在钉钉开放平台配置的域名白名单中。如果域名不在白名单中,请求可能会被拒绝,导致签名校验失败。

    2023-09-06 20:58:37
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    对于您遇到的问题,确实存在在安卓和iOS手机上dd.config鉴权时使用不同URL的情况。具体来说,在安卓手机中,dd.config会使用入口页面的URL进行鉴权,而在iOS手机中,会使用当前页面的URL进行鉴权。
    image.png
    image.png

    这种差异可能是由于钉钉客户端在不同平台上的实现方式导致的。虽然官方文档中没有明确说明这个差异,但根据开发者社区和其他开发者的经验分享,这是一种已知的行为。

    为了解决这个问题,您可以考虑以下方法:

    1. 在后端生成签名时,根据不同的平台传递不同的URL参数:您可以通过判断用户的设备类型(如User-Agent)来确定用户所使用的平台,并相应地传递入口页面或当前页面的URL参数。这样可以确保签名与实际使用的URL一致。

    2. 在前端获取签名数据时,根据不同的平台进行适配:您可以根据用户所使用的平台(如Android或iOS)来获取对应的签名数据。例如,可以使用不同的方法或API来获取签名数据,以确保与dd.config鉴权使用的URL一致。

    3. 联系钉钉官方支持团队或开发者社区:如果以上方法无法解决问题,建议您联系钉钉官方支持团队或在开发者社区中提问,寻求他们的帮助和指导。他们可能具备更多的经验和解决方案,并可以提供更准确的反馈。

    2023-09-06 12:50:51
    赞同 展开评论 打赏
  • 免登报错52013,签名校验失败

    用户后端签名使用的url地址和前端访问地址需要严格一致,包括端口号。前端部分可以用alert显示出当前的location.href,后端部分请在签名的时候打印日志。

    访问通过反向代理服务器、各种NAT等场景下容易出现这种问题,如http缺省的80端口,和显式增加80的不是同一个URL。

    检查确认获取的jsapiticket是否正确或者过期。jsapiticket是否有效期内重复获取导致jsapiticket被覆盖。

    image.png

    https://open.dingtalk.com/document/isvapp/jsapi-authentication#title-di8-jqe-0on!

    image.png

    鉴权是针对微应用页面实现的。如果当前页面用到需要鉴权的JSAPI,此页面就需要执行鉴权流程。钉钉开放平台会获取当前页面中需要鉴权的JSAPI,然后执行鉴权。

    要求开发者的签名signature值必须与开放平台的保持一致。
    image.png

    2023-09-06 10:38:05
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
+ 订阅
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载