分享

微信网页授权

 和谐世界 2020-09-16

微信网页授权

在网页内使用微信账户登录

1.打开授权页面

引导用户打开
[https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect]直接超链打开
参数列表:

名称 描述
appid 应用ID
redirect_uri 授权完成后转向的URL
response_type code:code方式回传数据
scope snsapi_base: 是用来获取进入页面的用户的openid的,并且是静默授权并自动跳转到回调页的。用户感知的就是直接进入了回调页(往往是业务页面);snsapi_userinfo: 是用来获取用户的基本信息的。但这种授权需要用户手动同意,并且由于用户同意过,所以无须关注,就可在授权后获取该用户的基本信息。

state附加信息,会原样返回到回调URL
随后页面跳转到: redirect_uri/?code=CODE&state=STATE

2.获取access_token

若授权方式为snsapi_base,则直接跳转到redirect_uri,不会再有此步骤
从uri参数中获取code,并请求
[https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code]反向代理或后台请求
参数列表 :

名称 描述
appid 应用ID
secret 应用secret
code 回传的code参数
grant_type 授权类型authorization_code

返回数据包示例:

{ 
"access_token":"ACCESS_TOKEN",
"expires_in":7200,
"refresh_token":"REFRESH_TOKEN",
"openid":"OPENID",
"scope":"SCOPE" 
}
名称 描述
access_token Access token
expires_in 超时时间(秒)
refresh_token 用户刷新access token
openid 用户唯一标识
scope 用户授权作用域

3.拉取用户信息

请求[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://wx./mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ 
4eMsv84eavHiaiceqxibJxCfHe/46”, 
“privilege”:[ “PRIVILEGE1” “PRIVILEGE2” ], 
“unionid”: “o6_bmasdasdsad6_2sgVt7hMZOPfL” 
}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多