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

135cdbf5b176cfcd380c9237b451f1db.png

基本原理:

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

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

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

相关流程图:

0c685bd56798e80a01777568501d4f28.png

操作步骤

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不同

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

打赏

ff7332c9d8833ec3435fe3dc38de7de3.png

d954b0e6ab9d313a5e1b698d19023135.png微信扫一扫,打赏作者吧~

如果本篇文章对您有帮助,欢迎向博主进行赞助,赞助时请写上您的用户名。

支付宝直接捐助帐号oracle_lee@qq.com 感谢支持!

喜欢 (0)or分享 (0)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值