必须是服务号,服务号必须已经认证,才有授权权限
确认位置在:公众号登陆后的开发->接口权限->网页服务->网页授权
参考文档: https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html
scope为snsapi_base https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx520c15f417810387&redirect_uri=https%3A%2F%2Fchong.qq.com%2Fphp%2Findex.php%3Fd%3D%26c%3DwxAdapter%26m%3DmobileDeal%26showwxpaytitle%3D1%26vb2ctag%3D4_2030_5_1194_60&response_type=code&scope=snsapi_base&state=123#wechat_redirect scope为snsapi_userinfo 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
● appid为当前服务号的APPID,可在公众号的开发,基本配置中看到
● redirect_uri为需要跳转的地址,需要使用URL编码,可以使用 http://www.jsons.cn/urlencode/
redirect_uri必须配置业务地址,需要在设置->公众号设置->功能设置->业务域名中配置(配置的不需要URL编码,不需要加http和https,只需要域名即可,比如 www.smobiler.com)
● response_type为code,固定的
● scope主要分两个,snsapi_base和snsapi_userinfo
snsapi_base只能获取到服务的基本信息,这个不需要用户授权
snsapi_userinfo可以获取到用户的详细信息,这个需要用户授权
● state 会发送给后台接口,随意写
● #wechat_redirect 必须的
在界面中使用 this.Client.UrlQuery中,使用 this.Client.UrlQuery["code"]获取code,使用this.Client.UrlQuery["state"]获取state
通过code换取网页授权access_token
主要通过来获取 https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
● appid同上
● secret
● code是上面获取到的code
● grant_type=authorization_code是固定的
或者使用Smobiler已经封装好的方法来获取 weiXinApi1_Afterlogin( 参考:SmobilerTutorias )
拉取用户信息(需scope为 snsapi_userinfo)
主要通过来获取 https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN
● appid同上
● access_token 上一个方法中获取
● lang 指返回国家地区语言版本,zh_CN 简体,zh_TW 繁体,en 英语
或者使用Smobiler已经封装好的方法weiXinApi1_Afterlogin来获取 (参考:SmobilerTutorias )