最近在搞有关微信的项目,也是刚接触微信没多久。我在微信订阅号中需要用户访问我们写好的第三方页面,但是页面中需要得到用户的openid做业务逻辑,我们的服务器端用的是senparc的开源方案,想用普通url加?的方式传递openid但是考虑到安全,所以用到了oauth2.0,看到官方给的介绍不是太明白具体操作过程,哪位大神帮忙具体分析一下这个的操作过程。我主要是不明白中间的用code换取accss_token的操作,还有我的第三方页面究竟是如何得到openid的,大家多多指点。
3条回答
- u010675729 2016-04-29 08:28关注
第一步,你需要引导用户访问这个链接
https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
里面的参数不用我说了吧,官方文档上游,主要是这个参数要注意redirect_uri,当用户访问这个网页并点击同意授权后,微信就会将网页跳转到你的回调URL上,并且带上一个参数,就相当于这种redirect_uri?code= 这种形式 这样你就拿到CODE了
第二步:通过code换取网页授权access_token
这个文档上很清楚,自己去看下,到这里他返回的数据是这样
"access_token":"ACCESS_TOKEN",
"expires_in":7200,
"refresh_token":"REFRESH_TOKEN",
"openid":"OPENID",
"scope":"SCOPE"
}
这里面以及有opendid了本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 如何在scanpy上做差异基因和通路富集?
- ¥20 关于#硬件工程#的问题,请各位专家解答!
- ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
- ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
- ¥30 截图中的mathematics程序转换成matlab
- ¥15 动力学代码报错,维度不匹配
- ¥15 Power query添加列问题
- ¥50 Kubernetes&Fission&Eleasticsearch
- ¥15 報錯:Person is not mapped,如何解決?
- ¥15 c++头文件不能识别CDialog