同一个项目,在android手机和ios手机打开,进行dd.config鉴权,android手机会报签名校验失败,而ios手机不会。具体流程如下:
场景介绍:Vue2项目,使用的时history模式路由;有A入口页面,B业务页面,进入A入口页面之后会自动跳转到B业务页面,在B业务页面进行dd.config鉴权。
鉴权流程:
1、使用B页面url,使用官方提供的算法生成签名,配合鉴权所需其他数据,在B页面进行dd.config鉴权。
2、在ios手机中鉴权成功;在android手机中提示签名校验失败,所打印的报错信息中,url属性为A入口页面的url(我进行鉴权和生成鉴权签名的页面都是B业务页面)
在官方文档中没有查到关于此问题的解释。请问有大佬知道这个情况是否正常吗
这个问题可能是由于dd.config在不同平台上的实现方式不同导致的。在Android平台上,dd.config使用的是入口页面的url,而在iOS平台上,dd.config使用的是当前页面的url。这是因为在Android平台上,dd.config会在应用启动时获取入口页面的url,而在iOS平台上,dd.config会在当前页面被加载时获取当前页面的url。
这个问题并不是必现的,它取决于dd.config在不同平台上的实现方式。如果您遇到了这个问题,可以尝试在dd.config中使用统一的url,或者在应用中使用其他的鉴权方式。如果问题仍然存在,您可以尝试联系dd.config的技术支持,获取更多帮助。
根据您描述的情况,同一个项目在Android手机和iOS手机上使用dd.config
鉴权时表现不一致,Android手机报签名校验失败,而iOS手机正常。
这种情况下可能存在以下问题或考虑因素:
签名算法实现:请确保在B业务页面中生成签名的算法和参数与官方文档提供的要求一致。检查一下签名算法的实现是否正确,并且确认所用的参数在两个平台上是相同的。
URL跳转问题:您提到在A入口页面后自动跳转到B业务页面进行鉴权。如果在URL跳转过程中有重定向或其他变化,可能会导致传递给B页面的URL不一致。请确保跳转后的URL与预期一致,以便在B页面进行正确的鉴权。
Android WebView配置:如果您在Android上使用WebView来加载Vue项目,可能需要检查WebView的相关配置。例如,确保WebView启用JavaScript执行、设置合适的UserAgent等。
客户端版本差异:不同平台上的客户端版本可能存在差异,特别是钉钉客户端的更新频率较快。可能存在某个特定版本的Android客户端对签名校验的处理方式有差异,导致报错。建议在不同的Android手机上尝试不同版本的钉钉客户端,看是否有差异。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。