近日在做登录微服务的时候,需要做微信授权认证.出现各种坑,(有坑才有成长).
之前一直是只带有一个参数, 没有发现任何问题, 今天在测试项目一些功能时,发现授权后的回调地址中,丢失了原有的参数. 授权页时显示回调地址中参数有2个,当点击确认授权按钮后, 参数剩了一个了.网上没有查到相关问题解决方案,文档上也没有明确记录. 经多方测试,老大指点后.问题终于得到解决.现记录于下.以作错误的经验总结,也给类似问题的同行一个简单的方案或者思路.

先看下服务器抓到的日志信息;

上图明显的可以看出, 授权后参数剩下一个了;为什么回调地址经过编码后,还会出现这样的问题呢?刚一开始还以为是微信的问题, 限制传多个参数.后来想想不可能这么low. 后来老大说,你查看下你的编码.然后就统一检查了所有需要编码的地方,都经过编码了,但是还存在这样的问题. 但是,但是有一个地方,就是在拼接的时候, 为了省事,先进行了拼接,后编码. 这时,将统一编码改为分布编码,然后再拼接.OK,问题解决. 看来有时候真是不能偷懒呀!
看下错误的写法:

正确写法:

这里需要做两次编码处理.引以为戒呀!

string platFormAppId = oPlatFormInfo.PlatFormAppId;
 string redirectUrl = System.Web.HttpUtility.UrlEncode(oPlatFormInfo.RedirectUri + "?uId=" + adminsId + "&channelCompanyId=123", System.Text.Encoding.UTF8);//如果需要带多个参数,需要对redirectUrl编码
 string pre_auth_code = _wechatOpenService.GetPreAuthCode();//预授权码

if (!String.IsNullOrEmpty(pre_auth_code))
            {
                authUrl = _wechatOpenService.GetComponentLoginPageUrl(platFormAppId, pre_auth_code, redirectUrl);
            }

转载自:https://blog.csdn.net/lengtianya/article/details/76222631

微信授权回调时,回调地址中原有参数丢失相关推荐

  1. jquery如何获取iframe地址中的参数

    对这样的需求,小编开发中也遇到了不少次了,我们经常会用到iframe弹出一个弹出框,有时候我们会因为需求而获取弹出框中地址中的参数,那么如何获取iframe地址中的参数呢? 如上图,若想要获取Cour ...

  2. php微信重复回调,解决微信授权登陆重复回调的问题

    有个问题要记录一下,就是微信授权登录之后重复回调的问题. 微信授权的流程是这样: 1.用户在微信里打开链接A,微信就会携带code和state访问A中的重定向链接B. (用户的微信客户端-->微 ...

  3. 微信授权Java重定向前端地址_微信网页授权+分享踩过的坑

    页面用浏览器自带返回和安卓物理返回死循环的话,直接看高潮部分 背景 折磨我两个工作日加周末一天的问题,我觉得还是有必要记录一下,为什么程序员总是加班,就是遇到这些意想不到的问题 需求 领导:我想做两个 ...

  4. vue获取url地址中的参数

    首先获取到url地址 let geturl = window.location.href // http://localhost:8081/#/pages/index/index?qycode=100 ...

  5. 支付宝集成——如何在回调地址中使用自定义参数

    支付宝集成--如何在回调地址中使用自定义参数 来源 http://www.solagirl.net/use-custom-para-in-alipay-return-url.html 2012 年 8 ...

  6. 微信鉴权服务器地址,微信开发之微信授权登录

    本篇教程探讨了微信开发之微信授权登录,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入. < 应用场景是:用Hbuilder打包app,在app中点击微信授权登录或者某一操作, ...

  7. 慕课网_《微信授权登录》学习总结

    时间:2017年08月12日星期六 说明:本文部分内容均来自慕课网.@慕课网:http://www.imooc.com 教学源码:无 学习源码:https://github.com/zccodere/ ...

  8. wap2app(五)-- 微信授权登录以及踩过的坑

    应用场景是:用Hbuilder打包app,在app中点击微信授权登录或者某一操作,调起微信授权登录,用户授权后拿到用户信息. 一.登录插件配置 先配置微信登录参数 appid和appsecret,在m ...

  9. 微信html5网站 集成,H5页面接入微信授权

    授权步骤 用户同意授权,获取code 通过code换取网页授权access_token 拉取用户信息(需scope为 snsapi_userinfo) 项目依赖 SpringBoot:2.1.4.RE ...

最新文章

  1. python画函数图-Python 绘制你想要的数学函数图形
  2. Revising Aggregations - The Count Function(集合函数-count)
  3. Google colab基本页面layout和需要注意的地方!
  4. CentOS 7安装教程
  5. 直播实录 | AAAI 2018论文解读:零资源机器翻译的最新进展
  6. JAVA笔记:死锁的详细解释
  7. 《DirectX 9.0 3D游戏开发编程基础》 第二章 绘制流水线 读书笔记
  8. Nginx 反向代理+高可用
  9. android按钮怎么事件监听,android 通过监听edittext实现button的点击事件
  10. String类型转换成json对象
  11. crfclust.bdb文件过大处理
  12. 工厂模式,从第三方登录说起
  13. Eclipse 照亮Java众生
  14. D-脱硫生物素dethiobiotinCAS号:533-48-2
  15. 如何修改python中字典的键和值
  16. 社交电商的现状以及它的四种商业模式
  17. 网络语言嗨C,网络流行语大全_最新最热门网络语言
  18. 在乌版图安装软件包时候报错:E:无法定位软件包
  19. 计算机微课有哪些类型如何应用,微课在大学计算机基础教学中的应用
  20. 潜入培训机构,顺出来一份价值 2.2W 的 Python 人工智能大纲

热门文章

  1. 如何在WORD中插入可播放的视频
  2. [Software]Vivado 2018.2 安装及激活教程
  3. 计算机图形学-X扫描线
  4. TreeView 控件
  5. 迪赛智慧数——柱状图(多色柱状图):十大高薪行业
  6. 字符串匹配 (KMP)
  7. Python 中的 astype() 和 .dtype
  8. EOS智能合约开发系列(16): deferred action与inline action
  9. web期末作业设计网页——_传统节日--端午节(9页)主题节日网页
  10. Web前端优化最佳实践