水文一篇做个记录,给遇到相同问题的小伙伴提个醒免得走弯路。事情是这样的,我们公司自建了两个钉钉内部应用,一个微应用,一个E应用。之前相关功能都只开放给办公室使用,最近车间上线了一部分功能,权限开放给了一线操作工。 这一开就开出问题来了。问题也很简单,车间一位同事的手机可以正常进入无需授权的页面,但只要进入授权功能就会报错。错误也简单就是无法连接服务器,百思不得其小姐姐,丢。
起初是小程序开发小组最先遇到的问题,E应用应该是打开调免登接口,然后去请求E应用内的对用功能的权限。部分手机直接提示找不到主机。而开发小组测试全部正常,然后去排查了一下前端免登接口数据,能拉取到用户信息,正常。然后调试了请求服务器权限的接口,也是一切正常。这特么就奇怪了。因为架构上我们把钉钉内的成员信息在自己的服务器上重建了一遍,所以查数据库的时候偶然发现无法请求服务器的人员信息在自己的服务器上竟然没有写入,也就是说免登以后没写用户信息,想想也对,请求不到服务器,必然也写不了信息。
只好继续去查源码,前端,后端都查了一遍,无果,新加个账号也正常。没办法了只能去微应用里面去看看能不能找出蛛丝马迹。结果开发小组的手机也都正常,然后就去用了打开异常的同事的手机,结果微应用无需授权的静态页能打开,鉴权的页面都打不开。最后没查到原因,所以暂时放了一下。上次出差浙江工厂,那边也有两个同事的手机无法访问。其中一位同事的手机比较老旧,所以怀疑是钉钉版本太低,升级钉钉版本后还是无法打开。就怀疑是手机的问题了,去检查了下钉钉的权限,顺道去看了下手机版本,发现安卓版本是5.1的。两个手机都是5.1的版本。出差回来后果断看了下上海这台手机,也是安卓5.1的。问题就比较明朗了,遂告知这几位同事,相关功能暂不要操作。
继续尝试相关办法不得而终,在网上也没有找到有效的解决方案,只好发钉钉工单去咨询了下钉钉官方,钉钉官方的回答是需要安卓7.0版以上才能正常使用钉钉的部分功能。这对我们开发层面其实已经无解了,试图分析一下原因,有可能是SSL证书拦截的问题。所以这里分享下,碰到类似问题不要走弯路了,直接升级手机安卓系统就好。