前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >微信公众号授权登陆

微信公众号授权登陆

作者头像
chuchur
发布2022-10-25 14:55:02
1.6K0
发布2022-10-25 14:55:02
举报
文章被收录于专栏:禅境花园

准备工作

注册公众号,登陆后台,在开发-基本配置找到 AppID,AppSecret,配置IP白名单 ,绑定开放平台账号

公众号授权

拉起授权,获取code

传参:

代码语言:javascript
复制
{
  redirect_uri:'授权成功后跳转地址',
  appid:'xxxx'
}

移动web端

url: https://open.weixin.qq.com/connect/oauth2/authorize?appid={appid}&redirect_uri=

PC web端(扫码登录)

url: https://open.weixin.qq.com/connect/qrconnect?appid={appid}&redirect_uri={redirect_uri}&response_type=code&scope=snsapi_login&state=STATE#wechat_redirect

判断没有登陆,进行跳转拉取授权

代码语言:javascript
复制
if(!token){
  window.location.href = url
}

用户同意授权后

如果用户同意授权,页面将跳转至 redirect_uri/?code=CODE&state=STATE。

code说明 : code作为换取access_token的票据,每次用户授权带上的code将不一样,code只能使用一次,5分钟未被使用自动过期。

通过code换取网页授权access_token

次请求,必须服务器发起 传参:

代码语言:javascript
复制
{
  appid:'xxxx',
  secret:'xxx'
}

url: https://api.weixin.qq.com/sns/oauth2/access_token?appid={appid}&secret=

正确时返回的JSON数据包如下:

代码语言:javascript
复制
{
  "access_token":"ACCESS_TOKEN",
  "expires_in":7200,
  "refresh_token":"REFRESH_TOKEN",
  "openid":"OPENID",
  "scope":"SCOPE" 
}
刷新access_token(如果需要)

由于access_token拥有较短的有效期,当access_token超时后,可以使用refresh_token进行刷新,refresh_token有效期为30天,当refresh_token失效之后,需要用户重新授权。 传参

代码语言:javascript
复制
{
  appid:'xxxx',
  refresh_token:'xxx'
}

url: https://api.weixin.qq.com/sns/oauth2/refresh_token?appid={appid}&grant_type=refresh_token&refresh_token=

正确时返回的JSON数据包如下:

代码语言:javascript
复制
{ 
  "access_token":"ACCESS_TOKEN",
  "expires_in":7200,
  "refresh_token":"REFRESH_TOKEN",
  "openid":"OPENID",
  "scope":"SCOPE" 
}
拉取用户信息(需scope为 snsapi_userinfo)

传参

代码语言:javascript
复制
{
  access_token:'',
  openid:''
}

url: https://api.weixin.qq.com/sns/userinfo?access_token={access_token}&openid=

正确时返回的JSON数据包如下:

代码语言:javascript
复制
{   
  "openid": "OPENID", //用户的唯一标识
  "nickname": "NICKNAME", //用户昵称
  "sex": 1, //性别,1男性,2女性,0未知
  "province":"PROVINCE", //个人资料填写的省份
  "city":"CITY", //人资料填写的城市
  "country":"COUNTRY", //国家
  "headimgurl":"https://thirdwx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/46", //头像
  "privilege":[ "PRIVILEGE1" "PRIVILEGE2"     ],
  "unionid": "o6_bmasdasdsad6_2sgVt7hMZOPfL" //只有在用户将公众号绑定到微信开放平台帐号后,才会出现该字段。
}

检验授权凭证(access_token)是否有效 传参

代码语言:javascript
复制
{
  access_token:'',
  openid:''
}

url: https://api.weixin.qq.com/sns/auth?access_token={access_token}&openid=

返回说明 正确的JSON返回结果:

代码语言:javascript
复制
{ 
  "errcode":0,
  "errmsg":"ok"
}

微信APP授权

微信APP授权登陆,支付等请参见安卓app和微信授权登录及分享完整对接

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/11/17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 准备工作
  • 公众号授权
    • 拉起授权,获取code
      • 通过code换取网页授权access_token
        • 刷新access_token(如果需要)
          • 拉取用户信息(需scope为 snsapi_userinfo)
          • 微信APP授权
          相关产品与服务
          云服务器
          云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档