详细微信公众号网页授权

微信公众号网页授权

微信公众号网页授权文档 :
https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html

主要步骤与思路

引导用户进入微信授权OAuth2.0鉴权网页链接,前端截取code传给后端即可,另外注意回调域名要设置
步骤:
第一步:用户同意授权,获取code;
第二步:通过code换取网页授权access_token
第三步:拉取用户信息(需scope为 snsapi_userinfo)

重点如下:

AppID(小程序ID) 必填
尤其注意:跳转回调redirect_uri,应当使用https链接来确保授权code的安全性。

关于网页授权的两种scope的区别说明:
1、以snsapi_base为scope发起的网页授权,用来获取进入页面的用户的openid的,静默授权并自动跳转到回调页的,用户感知的就是直接进入了回调页

2、以snsapi_userinfo为scope发起的网页授权,是用来获取用户的基本信息的。但这种授权需要用户手动同意,并且由于用户同意过,所以无须关注,就可在授权后获取该用户的基本信息。

/*
/*
第一步:用户同意授权,获取code
在确保微信公众账号拥有授权作用域(scope参数)的权限的前提下(服务号获得高级接口后,默认拥有scope参数中的snsapi_base和snsapi_userinfo),引导关注者打开如下页面:
*/ 

//前端只需截取code即可
 const appId = '你的小程序开发者工具id';
 const seCret = '你的小程序秘钥';
 
 //回调域名
 const redirect =  'url' //这里必须设置回调网页授权否则无效
 //若提示“该链接无法访问”,请检查参数是否填写错误,是否拥有scope参数对应的授权作用域权限
 //设置scope参数为snsapi_userinfo
`https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appId}&redirect_uri=${redirect}&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect。`

如果用户同意授权,页面将跳转至 redirect_uri/?回调页面
code作为换取access_token的门票。

第一步之后请求接口传code门票,剩下数据交给后端获取即可。

以下参照即可:

/*
第二步:通过code换取网页授权access_token

首先请注意,这里通过code换取的是一个特殊的网页授权access_token,如果网页授权的作用域为snsapi_base,则本步骤中获取到网页授权access_token的同时,也获取到了openid,snsapi_base式的网页授权流程即到此为止。
*/ 

'获取code后,请求以下链接获取access_token:  https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code'

获取用户信息

/*
第三步:拉取用户信息(需scope为 snsapi_userinfo)

如果网页授权作用域为snsapi_userinfo,则此时开发者可以通过access_token和openid拉取用户信息了。
*/ 

//请求方法
'http:GET(请使用https协议) https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值