2018年04月6日网站服务器迁移完成……

微信网页授权获取用户基本信息

微信公众号开发 苏 demo 1636℃

基本原理:

通过开发者服务器生成接口链接,将链接发送给关注公众号的粉丝,粉丝用户点击链接,会把链接的参数发送给微信服务器,

微信服务器会生成一个code并带到链接里面的redrect_url ,这个URL 就是第三方网页,第三方网页根据获取的code值,通过另外

的接口url请求微信服务器获取access_token,通过access_token 再通过腾讯的URL接口获取用户的OPENID,最后通过OPENID获取用户的基本信息。

相关流程图:

操作步骤

1.通过官方接口生成链接

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

注意参数设置

appid 微信公众号的appid

redirect_uri 第三方页面URL

scope 应用授权作用域 ,分为两种 snsapi_base(不弹出页面授权,直接条全,只能获取哦难怪乎openid) snsapi_userinfo (弹出授权页面,可以通过openid获取用户昵称、性别、所在地, 并且,即使用户未关注公众号,只要点击了授权,也能获取其信息.

如果用户点击了确定授权,会将code参数自动带到redirect_uri后面。

2.注意在微信公众号管理中心,设置OAuth2.0网页授权的回调页面域名信息;

3.获取access_token.

通过上面拿到的code信息,请求官方接口,获取access_token.

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

appid 微信公众号的appid

secret 微信公众号的AppSecret

code 上面获取的code值

请求成功,返回值示例:

{

“access_token” : “ACCESS_TOKEN”,

“expires_in” : 7200,

“refresh_token” : “REFRESH_TOKEN”,

“openid”: “OPENID”,

“scope”: “SCOPE”

}

 

4.获取用户基本信息(需啊哟scope为snsapi_userinfo)

接口:https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN

请求结果返回示例:

{

“openid” : “OPENID”,

“nickname”:NICKNAME,

“sex”:”1″,

“province”:”PROVINCE”,

“city” : “CITY”,

“country”:”COUNTRY”,

“headimgurl”: “HEADIMGURL”,

“privilege”:[

“PRIVILEGE1”

“PRIVILEGE2”

],

“unionid” : “UNIONID”

}

补充说明

redirect_uri 尽量使用https 来确保授权code安全性

通过code获取网页授权的access_token和基础支持中的access_token不同

网页授权接口连接额参数排序必须正确,不能更换,否则,会出错。

 

 

 

 

 

 

打赏

转载请注明:苏demo的别样人生 » 微信网页授权获取用户基本信息

   如果本篇文章对您有帮助,欢迎向博主进行赞助,赞助时请写上您的用户名。
支付宝直接捐助帐号oracle_lee@qq.com 感谢支持!
喜欢 (0)or分享 (0)