微信授权回调时,回调地址中原有参数丢失
近日在做登录微服务的时候,需要做微信授权认证.出现各种坑,(有坑才有成长).
之前一直是只带有一个参数, 没有发现任何问题, 今天在测试项目一些功能时,发现授权后的回调地址中,丢失了原有的参数. 授权页时显示回调地址中参数有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
微信授权回调时,回调地址中原有参数丢失相关推荐
- jquery如何获取iframe地址中的参数
对这样的需求,小编开发中也遇到了不少次了,我们经常会用到iframe弹出一个弹出框,有时候我们会因为需求而获取弹出框中地址中的参数,那么如何获取iframe地址中的参数呢? 如上图,若想要获取Cour ...
- php微信重复回调,解决微信授权登陆重复回调的问题
有个问题要记录一下,就是微信授权登录之后重复回调的问题. 微信授权的流程是这样: 1.用户在微信里打开链接A,微信就会携带code和state访问A中的重定向链接B. (用户的微信客户端-->微 ...
- 微信授权Java重定向前端地址_微信网页授权+分享踩过的坑
页面用浏览器自带返回和安卓物理返回死循环的话,直接看高潮部分 背景 折磨我两个工作日加周末一天的问题,我觉得还是有必要记录一下,为什么程序员总是加班,就是遇到这些意想不到的问题 需求 领导:我想做两个 ...
- vue获取url地址中的参数
首先获取到url地址 let geturl = window.location.href // http://localhost:8081/#/pages/index/index?qycode=100 ...
- 支付宝集成——如何在回调地址中使用自定义参数
支付宝集成--如何在回调地址中使用自定义参数 来源 http://www.solagirl.net/use-custom-para-in-alipay-return-url.html 2012 年 8 ...
- 微信鉴权服务器地址,微信开发之微信授权登录
本篇教程探讨了微信开发之微信授权登录,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入. < 应用场景是:用Hbuilder打包app,在app中点击微信授权登录或者某一操作, ...
- 慕课网_《微信授权登录》学习总结
时间:2017年08月12日星期六 说明:本文部分内容均来自慕课网.@慕课网:http://www.imooc.com 教学源码:无 学习源码:https://github.com/zccodere/ ...
- wap2app(五)-- 微信授权登录以及踩过的坑
应用场景是:用Hbuilder打包app,在app中点击微信授权登录或者某一操作,调起微信授权登录,用户授权后拿到用户信息. 一.登录插件配置 先配置微信登录参数 appid和appsecret,在m ...
- 微信html5网站 集成,H5页面接入微信授权
授权步骤 用户同意授权,获取code 通过code换取网页授权access_token 拉取用户信息(需scope为 snsapi_userinfo) 项目依赖 SpringBoot:2.1.4.RE ...
最新文章
- python画函数图-Python 绘制你想要的数学函数图形
- Revising Aggregations - The Count Function(集合函数-count)
- Google colab基本页面layout和需要注意的地方!
- CentOS 7安装教程
- 直播实录 | AAAI 2018论文解读:零资源机器翻译的最新进展
- JAVA笔记:死锁的详细解释
- 《DirectX 9.0 3D游戏开发编程基础》 第二章 绘制流水线 读书笔记
- Nginx 反向代理+高可用
- android按钮怎么事件监听,android 通过监听edittext实现button的点击事件
- String类型转换成json对象
- crfclust.bdb文件过大处理
- 工厂模式,从第三方登录说起
- Eclipse 照亮Java众生
- D-脱硫生物素dethiobiotinCAS号:533-48-2
- 如何修改python中字典的键和值
- 社交电商的现状以及它的四种商业模式
- 网络语言嗨C,网络流行语大全_最新最热门网络语言
- 在乌版图安装软件包时候报错:E:无法定位软件包
- 计算机微课有哪些类型如何应用,微课在大学计算机基础教学中的应用
- 潜入培训机构,顺出来一份价值 2.2W 的 Python 人工智能大纲
热门文章
- 如何在WORD中插入可播放的视频
- [Software]Vivado 2018.2 安装及激活教程
- 计算机图形学-X扫描线
- TreeView 控件
- 迪赛智慧数——柱状图(多色柱状图):十大高薪行业
- 字符串匹配 (KMP)
- Python 中的 astype() 和 .dtype
- EOS智能合约开发系列(16): deferred action与inline action
- web期末作业设计网页——_传统节日--端午节(9页)主题节日网页
- Web前端优化最佳实践