【公众号】网页授权获取用户信息

chenvle 2020-07-23 PM 1396℃ 0条

网页授权流程分为四步

1、引导用户进入授权页面同意授权,获取code

2、通过code换取网页授权access_token(与基础支持中的access_token不同)

3、如果需要,开发者可以刷新网页授权access_token,避免过期

4、通过网页授权access_token和openid获取用户基本信息(支持UnionID机制)


第一步:在微信里面打开链接

https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect

APPID:公众号的appid
REDIRECT_URI:返回地址
SCOPE: snsapi_userinfo(弹窗授权)或者snsapi_base(静默授权)


第二步:用code换取openid

https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

APPID:公众号的appid
SECRET:公众号的SECRET
CODE:第一步获取的CODE

{
  "access_token":"ACCESS_TOKEN",
  "expires_in":7200,
  "refresh_token":"REFRESH_TOKEN",
  "openid":"OPENID",
  "scope":"SCOPE" 
}

第三步:获取access_token(如需刷新)

access_token 作为微信接口全局访问的唯一调用凭据 ,公众号调用各个接口时候都需要使用access_token 。获取一次有效期2小时,一天有次数限制,一般来说,获取一次需要保存起来,两小时内可以无限使用于其他

https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=SECRET

APPID:公众号的appid
SECRET:公众号的SECRET

返回

{"access_token":"ACCESS_TOKEN","expires_in":7200}

获取用户信息

https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN

ACCESS_TOKEN:第三步获取的access_token
openid:第二步获取的openid

返回

{   
  "openid":" OPENID",
  "nickname": NICKNAME,
  "sex":"1",
  "province":"PROVINCE",
  "city":"CITY",
  "country":"COUNTRY",
  "headimgurl":       "http://thirdwx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/46",
  "privilege":[ "PRIVILEGE1" "PRIVILEGE2"     ],
  "unionid": "o6_bmasdasdsad6_2sgVt7hMZOPfL"
}

非特殊说明,本博所有文章均为博主原创。

评论啦~