- 微信官方文档:微信官方文档-公众号-网页授权
- 微信公众平台:微信公众平台
- 微信开放平台:微信开放平台
- 在线urleEcode编码/解码:在线urleEcode编码/解码
scope不能为空
因为配置回调地址时候,没有urlEncode回调地址,导致微信解析不了授权地址。
配置开发注意
- 授权地址参数需要按顺序,并且我们自己设置的回调地址是需要urlEncode编码,就是比如
/
是%2f
,:
是%3a
,=
是%3d
,当然也能用js的现有方法。
以下是scope为snsapi_userinfo的授权地址,只需要更改红色的就行,其他不用动,appId是类型为服务号的公众号的appId,并且该公众号需要有网页授权接口权限。
https://open.weixin.qq.com/connect/oauth2/authorize?appid=
wxf0e81c3bee622d60
&redirect_uri=http%3A%2F%2Fnba.bluewebgame.com%2Foauth_response.php
&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect
- 前端根据授权地址得到code,然后后台得到code后,请求以下链接获取access_token:
https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
。
我只用到了unionid,但是之前做小程序登录时候,遇到过只有openid没有unionid的情况,需要另外请求接口去获取unionId。
结果json:
前端代码:
后端代码:
//公众号access_token基地址
String authUrl ="https://api.weixin.qq.com/sns/oauth2/access_token";
//公众号APPID
String appId