zoukankan      html  css  js  c++  java
  • 微信小程序授权登录 41003: aes 加密数据解密失败问题

    在微信小程的开发中,登录问题,一定要按照这样的顺序:

    1.小程序请求login,拿到code 然后传给服务端

    2.服务端拿到code 到微信服务器拿到sessionKey

    3.然后小程序调用getuserinfo接口拿到encryptedData,iv,然后给服务端

    4.服务端拿到客户端的encryptedData,vi还有之前的sessionKey去解密得到 unionId等用户信息

    注意:客户端上传的encryptedData需要encodeURIComponent方法进行URL编码,对应服务端需要URL解码
    小程序:

    encodeURIComponent(data.encryptedData);//一定要把加密串转成URL编码

    服务端:

    <?php
    //php 端接受数据 时做url解码
    $encryptedData=urldecode($_GET["encryptedData"]);

    不然就会出现你这样的问题,你这种情况偶然出现的原因就是 你在服务端还未去获取sessionKey的时候你就去调用了getuserinfo,有时候你会比服务端快,有时候你会比服务端慢,所以就出现了偶然性

    作者:赖忠标
    免责声明:文章、笔记等仅供分享、探讨、参考等学习之用,因此造成的任何后果概不负责。(如有错误、疏忽等问题,欢迎指正、讨论,谢谢)
    本文版权归作者和博客园共有,欢迎转载,但请务必在文章页面明显位置给出原文连接,谢谢配合。
  • 相关阅读:
    [算法] Tarjan算法求割点
    [题解] POJ2689 [质数距离]
    [题解] 「NOIP2009」最优贸易
    pyCharm更换主题、字体大小和编辑器字体颜色
    python之冒泡排序简单算法
    修改pip阿里镜像
    Postman工具简介
    接口文档解析
    HTTP接口请求
    接口(API)测试学习
  • 原文地址:https://www.cnblogs.com/lazb/p/15677314.html
Copyright © 2011-2022 走看看