微信授权拿到用户信息的全过程

公众号配置:
个人号拿不到用户信息,因为没有办法进行网页授权
1.进行网页域名授权
2.添加ip白名单
3.验证token,启用服务器

1.如何拿到用户信息
思路:
引导用户点击指定链接---->授权---->跳转到指定链接1---->从window.location.href上面截取出来code发给后端(前端有跨域问题拿不到)---->后端去请求微信服务器接口1,将access_token和openid返回给前端,前端再用access_token和openid去请求指定接口2拿到用户的信息

注释:
链接1:
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxfefd18217a7f070a&redirect_uri=http%3A%2F%2Fujeyht.natappfree.cc%2Fbobing%2Findex.html&response_type=code&scope=snsapi_userinfo&state=abcd#wechat_redirect

红色部分为替换部分,值得注意的事redirect_uri需要用encodeURIComponent()处理
当用户点击了链接1并且授权之后后跳转到你指定的redirect_uri,并且url后面会加上code参数
例如:
http://ujeyht.natappfree.cc/bobing/index.html?code=081omY5b0EAe0y1rKh8b0C2G5b0omY5T&state=abcd,从url里面截取出来code发给后端

接口1:
https://api.weixin.qq.com/sns/oauth2/access_token?appid=wxd5b035d4ee6d7941&secret=102daa307089acc2059dbcaaaede664d&code=011g1mId1lIweA0mMEFd13vkId1g1mID&grant_type=authorization_code
红色部分为替换部分,值得注意的是code使用一次后失效或者未使用5分钟之后失效
后端拿到的返回值为:
{
“access_token”: “24_L8t6odnhn8pTbX8g8QFKdDU-gpfQWoGNro3nwTh6ewbKKxPg8WtbX1tVm8nDEN5EZ0Itmon8ce4RTrd_QmtHCQ”,
“expires_in”: 7200,
“refresh_token”: “24_5PpqLc6B_ZcOoNTjKpfsDhEYyhA9qFmVmuakCGh2A5d92DOD2Eb9WLh3uLQ1BWMqrGdN0rjGaCubIrquHuNljQ”,
“openid”: “oLZ2mv4u2XF0wY4ae6yTax26HaMc”,
“scope”: “snsapi_userinfo”,
“unionid”: “oCwKwuP_66e4TYR8b69dSeqBWXhw”
}
可以看到access_token和openid就是我们想要的,后端将这两个参数返回给前端,前端再去请求接口2

接口2:
https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID

拿到的返回值为:
{
“subscribe”: 1,
“openid”: “oLZ2mv4u2XF0wY4ae6yTax26HaMc”,
“nickname”: “方剑鹏”,
“sex”: 1,
“language”: “zh_CN”,
“city”: “西安”,
“province”: “陕西”,
“country”: “中国”,
“headimgurl”: “http://thirdwx.qlogo.cn/mmopen/JcDicrZBlREg76Ff7rbJFWrZDxHULqszAQYKzHZ7O6eQxIQEJxuaJL7B5Tk0CULC39yQwu7mHxp2ticabEhZDTRHfCbXgjO4Uq/132”,
“subscribe_time”: 1564640171,
“unionid”: “oCwKwuP_66e4TYR8b69dSeqBWXhw”,
“remark”: “”,
“groupid”: 0,
“tagid_list”: [],
“subscribe_scene”: “ADD_SCENE_PROFILE_CARD”,
“qr_scene”: 0,
“qr_scene_str”: “”
}
nickname和headimgurl就是我们想要的!!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值