首页 微信 获取oppenId 微信简单流程

获取oppenId 微信简单流程

用户要求在微信端登录一次后,以后不需要再登录.  我的系统是单独的一个网站. 使用MVC的记住密码功能, 如果用户重启,…

用户要求在微信端登录一次后,以后不需要再登录.  我的系统是单独的一个网站. 使用MVC的记住密码功能, 如果用户重启,就还是要输入密码,所以需要有一个唯一不变的用来标示用户的ID。  OpenID就是这样,微信用户对于每个公众号它都是唯一的,不管关注还是不关注。
如何做到呢?
使用微信的网页授权(OAuth2.0),简单点理解这个东西就是跑到微信去请求个回调,微信跳转到你给的回调页面,然后在页面后面加个code,  你拿着code 去微信取你要的信息。
(1), 去公众号后台设置回调的域名
       在开发– 接口权限 — 网页账号– 用户授权获取用户基础信息   点击 “修改”,输入域名。  如www.baidu.com
(2)  绑定开发者微信号: 在开发–开发者工具 — web开发者工具–进入 绑定开发者微信
(3) 这个时候你就可以试着看到code.  比如
在微信web开发者工具中输入

https://open.weixin.qq.com/connect/oauth2/authorize?appid=*******&redirect_uri=www.baidu.com&response_type=code&scope=snsapi_base&state=1#wechat_redirect

页面就会跳转到  www.baidu.com?code=***.  就可以看到code了。
(4) 通过code 来获取openID

https://api.weixin.qq.com/sns/oauth2/access_token?appid=***&secret=***&code=***&grant_type=authorization_code

会返回json 数据包,里面有要得OpenID 。  具体可以参见:http://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html
这里注意的是一个code只能使用一次,我开始不知道,反复去取,导致程序时而好时而不好。  Code 5分钟不用就过期。
我这里只是去了OpenID。如果要取用户的其它信息,就需要在取code的时候改scope=snsapi_userinfo。 开发者文档也有详细记录
免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。

为您推荐

小程序报Error: errCode: -502005 database collection

小程序报Error: errCode: -502005 database collection

Error: errCode: -502005 database collection not exists | err...
小程序文字水平垂直居中对齐问题(完美解决方案)

小程序文字水平垂直居中对齐问题(完美解决方案)

我们知道常用的居中对齐方式有很多种例如: text-align:center; align-items:center; ...
微信简单接入(一)接入开发者模式springmvc

微信简单接入(一)接入开发者模式springmvc

/** * 微信验证 * 收/发送信息 */ @RequestMapping("serial") @ResponseBo...
(亲测可用)Element ‘mvc:annotation-driven’ must have no character or element information item

(亲测可用)Element ‘mvc:annotation-driven’ must have no character or element information item

使用SpringMVC,启动tomcat报这个错误 解决办法 首先将Spring版本提升到3.1及以上 如果还不行替换x...
快要5月20号了

快要5月20号了

快要5月20号了喜欢我的人可以提前发微信红包发5.20元, 爱我的人就发13.14元, 自认为是土豪的发88.88元, ...
返回顶部