前沿拓展:
overview
step1. 配置回调域名登陆微信公众平台,菜单“设置”→“公众号设置”→功能设置→网页授权域名
微信公众平台开发
【定义】授权回调页面域名:用户在网页授权页同意授权给公众号后,微信会将授权数据传给一个回调页面,回调页面需在此域名下,以确保安全可靠。
以上定义似乎会把人带入误区,我一开始被整懵了。配了个回调地址,其实不用,只需要配置授权访问的域名就ok了,这里我配置的是testpcenter.shenbianhui.cn。注意,要保证域名可访问并且要把MP_verify_****.txt放到站点相应的目录下,否则点击“确认”按钮会提示的。
step2. 构造微信用户请求的url
https://open.weixin.qq.com/connect/oauth2/authorize?appid=@APPID&redirect_uri=@redirectUri&response_type=code&scope=snsapi_base&state=1#wechat_redirect页面URL中的scope=snsapi_base 表示应用授权作用域为 不弹出授权页面,直接跳转,只获取用户openid
这里我配置的redirect_uri是http://testpcenter.shenbianhui.cn/TCP/WeixinJSPay.aspx
step3. 返回回调页面如下
http://testpcenter.shenbianhui.cn/TCP/WeixinJSPay.aspx?code=001bxIJx1Pi1ge0bZpLx1AAAJx1bxIJb&state=1这里获得到了code
step4. 再使用code获取OpenID
url如下:
https://api.weixin.qq.com/sns/oauth2/access_token?appid=@APPID&secret=@APPSECRET&code=@code&grant_type=authorization_code返回如下
{ "access_token": "OezXcEiiBSKSxW0eoylIeAsR0GmYd1awCffdHgb4fhS_KKf2CotGj2cBNUKQQvj-oJ9VmO-0Z-_izfnSAX_s0aqDsYkW4s8W5dLZ4iyNj5Y6vey3dgDtFki5C8r6D0E6mSVxxtb8BjLMhb-mCyT_Yg", "expires_in": 7200, "refresh_token": "OezXcEiiBSKSxW0eoylIeAsR0GmYd1awCffdHgb4fhS_KKf2CotGj2cBNUKQQvj-oJ9VmO-0Z-_izfnSAX_s0aqDsYkW4s8W5dLZ4iyNj5YBkF0ZUH1Ew8Iqea6x_itq13sYDqP1D7ieaDy9u2AHHw", "openid": "oLVPpjqs9BhvzwPj5A-vTYAX3GLc", "scope": "snsapi_base" }step5. 然后获取全局Access Token
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=@APPID&secret=@APPSECRET返回结果:
{ "access_token": "NU7Kr6v9L9TQaqm5NE3OTPctTZx797Wxw4Snd2WL2HHBqLCiXlDVOw2l-Se0I-WmOLLniAYLAwzhbYhXNjbLc_KAA092cxkmpj5FpuqNO0IL7bB0Exz5s5qC9Umypy-rz2y441W9qgfnmNtIZWSjSQ", "expires_in": 7200 }step6. 再使用全局ACCESS_TOKEN获取OpenID的详细信息
https://api.weixin.qq.com/cgi-bin/user/info?access_token=@ACCESS_TOKEN&openid=@OPENID返回如下:
{ "subscribe": 1, "openid": "o48_Ct5YigM7JDZ6x3Havr4kgzQQ", "nickname": "UNION", "sex": 1, "language": "zh_CN", "city": "朝阳", "province": "北京", "country": "中国", "headimgurl": "http://wx.qlogo.cn/mmopen/IYiampJQbm5TEicYAhWAMAicSVDVRGYFAiamB4qyq3mUWmzT1zNQFzYnBMTNmicljmm9GDSX2Hhbs6oMM6BezDLyZibfFrVuZ3D7sW/0", "subscribe_time": 1443007389, "remark": "", "groupid": 0, "tagid_list": [] }至此,成功获得用户基本信息。
这种适合已经有OAuth2.0网页授权的服务号在网页中使用,且不会弹出“微信登录”页面。减少给用户的打扰。
拓展知识:
标题:jsq20 10jb故障代码e1
地址:http://www.cdaudi4s.com/zhongyangkongdiao/weixiuzixun/133194.html

