微信网页授权回调地址放多个参数的方法

https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID\&redirect_uri=REDIRECT_URI\&response_type=code\&[scope](https://so.csdn.net/so/search?q=scope&spm=1001.2101.3001.7020 "scope")=SCOPE&state=STATE#wechat_redirect
跳转后地址 redirect_uri/?code=CODE&state=STATE。

redirect_uri如果不进行urlencode编码, 跳转后地址只能拿到一个参数。

如果要放置多个参数, 就按照文档上对其进行urlencode进行编码。

注: 如果有参数名为openId,跳转后地址栏是拿不到的

微信文档微信网页授权回调地址放多个参数的方法微信文档


用户同意授权,获取code

在确保微信公众账号拥有授权作用域(scope参数)的权限的前提下(已认证服务号,默认拥有scope参数中的snsapi_base和snsapi_userinfo 权限),引导关注者打开如下页面:

https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID\&redirect_uri=REDIRECT_URI\&response_type=code\&scope=SCOPE\&state=STATE#wechat_redirect

若提示"该链接无法访问",请检查参数是否填写错误,是否拥有scope参数对应的授权作用域权限。

尤其注意:由于授权操作安全等级较高,所以在发起授权请求时,微信会对授权链接做正则强匹配校验,如果链接的参数顺序不对,授权页面将无法正常访问

参考链接(请在微信客户端中打开此链接体验):
scope为snsapi_base:
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx520c15f417810387\&redirect_uri=https%3A%2F%2Fchong.qq.com%2Fphp%2Findex.php%3Fd%3D%26c%3DwxAdapter%26m%3DmobileDeal%26showwxpaytitle%3D1%26vb2ctag%3D4_2030_5_1194_60\&response_type=code\&scope=snsapi_base\&state=123#wechat_redirect
scope为snsapi_userinfo:
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx807d86fb6b3d4fd2\&redirect_uri=http%3A%2F%2Fdevelopers.weixin.qq.com\&response_type=code\&scope=snsapi_userinfo\&state=STATE#wechat_redirect

尤其注意:跳转回调redirect_uri,应当使用https链接来确保授权code的安全性。

参数说明

参数 是否必须 说明
appid 公众号的唯一标识
redirect_uri 授权后重定向的回调链接地址, 请使用 urlEncode 对链接进行处理
response_type 返回类型,请填写code
scope 应用授权作用域,snsapi_base (不弹出授权页面,直接跳转,只能获取用户openid),snsapi_userinfo (弹出授权页面,可通过openid拿到昵称、性别、所在地。并且, 即使在未关注的情况下,只要用户授权,也能获取其信息 )
state 重定向后会带上state参数,开发者可以填写a-zA-Z0-9的参数值,最多128字节
#wechat_redirect 无论直接打开还是做页面302重定向时候,必须带此参数
forcePopup 强制此次授权需要用户弹窗确认;默认为false;需要注意的是,若用户命中了特殊场景下的静默授权逻辑,则此参数不生效

下图为scope等于snsapi_userinfo时的授权页面:

用户同意授权后

如果用户同意授权,页面将跳转至 redirect_uri/?code=CODE&state=STATE。

通过获取url参数获取code 换取openid

相关推荐
陈思杰系统思考Jason2 天前
战略选择:挖坑与打井
百度·微信·微信公众平台·新浪微博·微信开放平台
MuShan-bit2 天前
CSDN-推荐开源项目-auto-x-to-wechat
爬虫·微信·开源·node.js·twitter
陈思杰系统思考Jason3 天前
系统思考:组织转型与碳元素启示
百度·微信·微信公众平台·新浪微博·微信开放平台
深念Y3 天前
解决微信班级魔方打卡定位难题!AutoCheckBJMF 项目详解 + 抓包核心实战
微信
Simon_lca3 天前
CABELAS 验厂完整科普:审核规则、核心要求与实操注意事项全解
大数据·人工智能·经验分享·微信·制造
KIKIiiiiiiii4 天前
微信自动化机器人开发
java·开发语言·人工智能·python·微信·自动化
陈思杰系统思考Jason4 天前
学习实验室:突破顾问合作的瓶颈
百度·微信·微信公众平台·新浪微博·微信开放平台
ok_hahaha5 天前
java从头开始-苍穹外卖-day06-微信小程序开发-微信登录和商品浏览
java·微信·微信小程序·小程序
不懂代码的切图仔6 天前
小程序web-view嵌入h5扫码 html5-qrcode库使用方法
前端·微信
陈思杰系统思考Jason6 天前
系统思考:奢侈品零售思维破局困境
百度·微信·微信公众平台·新浪微博·微信开放平台