我想获取用户基本信息,先是用wx.login获得code,再用code获得session_key,然后小程序用wx.getUserInfo接口返回了rawData和signature、encryptedData,然而在后台通过sha1加密签名(rawData+session_key)与signature进行加密检验的时候,发现有部分用户校验失败的,经排查发现如果用户微信昵称带emoji表情符号的时候就会出问题,以前一直登录的时候不会有这种情况,我就想问一下是不是你们这边改接口导致签名所用到的参数有问题???




展开全部
收起
8回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • Jesse穆雅斓

    11人对此回答表示赞同

    是不是使用了utf8而不是utf8mb4保存的昵称,校验的时候编码不一致吧

    展开
    11
    3回复
    发布于 6年前

    评论(3)

    收起评论

    • 沦陷的痛 2019-02-17 15:31

      最怕的是还要分ios的版本,都不知道怎么测试,人穷买不起iphone,以前自费买了部itouth6测试微信网页版的,自从要弄小程序后就废了,小程序不兼容ipad和itouch

      回复
    • 文心雕龙 2019-02-19 11:02

      也许是同样的表情在安卓手机和苹果手机返回的rawData根本就不一样

      回复
    • 有口无心 2019-02-21 20:07

      mysql才会区分utf8与utf8mb4,java后台不会的,所以应该不是后台的问题,安卓机昨天试过,具有相同的emoji符号在后台加密没问题,目前不知道用户的机型是不是ios,反正安卓机传回来的rawData,我在日志那里复制过来后再手动自己在网上进行sha1加密,两个参数是一样的,而对不上的用户手动加密校验就是不相同

      回复
  • 苏瑞芬

    10人对此回答表示赞同

    同样出现这种问题,用户的头像只要出现有包含????????????类似的emoji图标,就会导致无法存入mysql数据库,导致获取不到用户的unionid

    展开
    10
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Penelope

    10人对此回答表示赞同

    我这边也是,用户授权之后,有些用户的头像,名字等信息还是获取不到

    展开
    10
    2回复
    发布于 6年前

    评论(2)

    收起评论

    • 扑朔迷离 2019-02-11 16:01

      rawData是有数据的,只是有些用户的头像,名称,在后台显示不出。

      回复
    • Emilia 2019-02-13 09:26

      rawData有数据么,rawData其实可以直接用,只是不是很安全,最好校验啦,当然校验目前存在的问题官方人员也不清楚,只能说呵呵了

      回复
  • 余生

    10人对此回答表示赞同

    大哥啊。。你们官方回答这么不严谨吗?什么叫‘应该不是我们的问题’???????

    展开
    10
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • 忐忑不安

    8人对此回答表示赞同

    我再等有没有第二例反馈,如果没有就应该不是我们的问题。

    展开
    8
    4回复
    发布于 6年前

    评论(4)

    收起评论

    • 酸奶麦片粥 2019-02-22 18:35

      我也出现这问题

      回复
    • Lola 2019-02-24 12:46

      同样出现这个问题了

      回复
    • Sofia 2019-02-26 18:57

      我们也出现了这样的问题,就是rawData中的nickName有问题导致签名不过。我在论坛搜索过了,也有不少用户反馈,但是都没有给出解决方案。求官方给出解决方案

      回复
    • Daniel 2019-02-28 08:46

      你们不如自己检验一下wx.getUserInfo返回的signature和(rawData+session_key)加密的签名是不是一致再跟我说吧,我觉得绝大部分的人都没经过校验直接保存用户基本信息,因为rawData是已经包括用户除了openid、unionId、watermark外的其他用户信息,但是为了安全问题肯定是要进行校验的,难道还让开发不校验随便在前端上传这些基本信息吗?

      回复
  • Riley

    7人对此回答表示赞同

    rawData中包含中文时,后台生成的签名和getUserInfo返回的签名不一致,大家怎么解决的啊

    展开
    7
    1回复
    发布于 6年前

    评论(1)

    收起评论

    • 墨离尘 2019-02-18 21:29

      你传到后台rawData有没有乱码,如果乱码就是错的了

      回复
  • Nolan孔明

    3人对此回答表示赞同

    @Can????

    展开
    3
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Ian0721

    1人对此回答表示赞同

    展开
    1
    8回复
    发布于 6年前

    评论(8)

    收起评论

    • 八角与丁香 2019-02-21 00:54

      你不说我都忘记可以解密EncryptedData内容,解密出来之后就是昵称那里有问题,就是前端上传的用户昵称带表情符号的乱码了,只能认为是微信小程序没有兼容到部分手机,导致小程序上传的rawData中的昵称的emoji乱码了。

      回复
    • 陈诗_Echo 2019-02-22 15:05

      早上起来脑子抽风没过脑子……不过基本一个意思啊加密过的字符串你发张图是准备让开发人员查bug的时候一个字母一个字母敲吗?有些东西你打码了,但是你想让官方查至少把EncryptedData复制出来吧

      回复
    • 暗恋未遂 2019-02-24 18:59

      兄弟,你6啊,你什么时候看到是base64,你真的知道base64是什么吗

      回复
    • 邱宸 2019-02-26 11:30

      兄弟全都是base64编码你给个截图是准备让微信开发人员一个字母一个字母敲吗何况微信开发人员也不一定有这么高的权限可以直接去查数据库

      回复
    • Ken不得鸡 2019-02-28 16:44

      平心而论,难道你们这边就不能自己测试一下,这些都是用户数据,我能够随便公开给么,现在这个问题讨论已经是公开的了,如果是正式的情况下应该是以私信的方式而不是这样公开讨论的,然而这个社区并没有私信方式

      回复
    • 杨佑浩 2019-03-02 20:06

      平心而论,我给你反馈问题,用贴图的,你怎么查。

      回复
    • Bryson 2019-03-04 20:21


      回复
    • 明月望舒 2019-03-06 08:55

      感谢回复,麻烦给下输入输出等信息或者log,这样我们才能查问题。

      回复
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部