nodejs-微信公众号授权验证及获取微信用户信息-随笔
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了nodejs-微信公众号授权验证及获取微信用户信息-随笔,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1580字,纯文字阅读大概需要3分钟。
内容图文
在前面开发中,产品提出一个需求,在用户访问移动端页面时需要先微信授权且登录个人中心时展示用户账号信息和微信昵称,头像等信息且一个账号,很简单吧,我摔,好多坑啊。
看了一番微信开发文档,发现需求的中心点在于微信用户信息中有一个中心点 openid
功能以这个为中心进行环绕开发,验证是否授权逻辑清晰我就不提及了
首先我需要用户微信授权获取openid与用户账户绑定以实现个人中心获取对应账号的微信信息
在此开发我使用的是snsapi_base静默授权,前提是要先在公众平台设置网页授权选项
https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
若提示“该链接无法访问”,请检查参数是否填写错误,是否拥有scope参数对应的授权作用域权限。
当用户点击菜单进入网页时可以通过window.location.href重定向上面的连接,微信服务器会返回一个code,
有两点要注意:
1:重定向回调链接地址需要编码处理,可以使用urlencode插件进行编码返回一个编码后的地址作为回调
2:有时候会出现返回的code过期,大部分是客户端和微信方同时带code请求服务器两次造成第一次请求终止或code被使用
解决方式:1:逻辑中对已有的code不进行重复操作 2:在回调地址中加个参数 &connect_redirect=1
继续使用获得的code调用接口获取微信openid
https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
openid基本就得手了,建议在业务层进行获取操作,推荐使用axios和request
然后是使用openid获取用户信息,关键要使用全局access_token
http请求方式: GET
https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN
微信公众号开发者文档链接:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140839
内容总结
以上是互联网集市为您收集整理的nodejs-微信公众号授权验证及获取微信用户信息-随笔全部内容,希望文章能够帮你解决nodejs-微信公众号授权验证及获取微信用户信息-随笔所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。