HTML——微信H5授权

6 篇文章 0 订阅

官方文档:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html

1. 生成用户授权地址跳转

/* 生成用户授权地址跳转 */
    wxAuthorize: () => {
      let redirect_uri = window.location.href //回调地址
      redirect_uri = encodeURIComponent(redirect_uri) //回调地址转码
      let state = "" //要传递的参数
      let appid = "公众号appid"
      let scope = "snsapi_userinfo" //授权方式
      let param = `appid=${appid}&redirect_uri=${redirect_uri}&response_type=code&scope=${scope}&state=${state}`
      let url = `https://open.weixin.qq.com/connect/oauth2/authorize?${param}#wechat_redirect`
      window.location.href = url
    }

api地址:https://open.weixin.qq.com/connect/oauth2/authorize?#wechat_redirect
参数:

属性是否必填类型备注
appidstring公众号的唯一标识
redirect_uristring公众号的唯一标识
response_typestring返回类型,请填写code
scopestring授权类型: snsapi_base(不弹出授权页面,直接跳转,只能获取用户openid)、snsapi_userinfo (弹出授权页面,可通过 openid 拿到昵称、性别、所在地。并且, 即使在未关注的情况下,只要用户授权,也能获取其信息 )
#wechat_redirectstring无论直接打开还是做页面302重定向时候,必须带此参数
statestring重定向后会带上 state 参数,开发者可以填写a-zA-Z0-9的参数值,最多128字节

2. 接收回调参数
如果用户同意授权,页面将跳转至授权时填入的重定向地址,并且携带code、state参数
回调参数:

属性备注
codecode作为换取access_token的票据,每次用户授权带上的 code 将不一样,code只能使用一次,5分钟未被使用自动过期
state重定向后会带上 state 参数
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
uni微信h5静默授权是指在用户进入uni微信H5页面时,通过微信授权接口获取用户的openid,并且不弹出授权页面让用户手动授权的一种授权方式。 实现uni微信H5静默授权获取openid的步骤如下: 1. 首先,在uni-app中引入微信JSSDK,通过在index.html中引入微信JS SDK库文件,或者通过npm安装并在main.js中引入微信JSSDK。 2. 在uni微信H5页面中编写获取openid的逻辑。可以在页面加载完成后,通过微信JSSDK提供的接口wx.config进行微信JS SDK的配置。在配置完成后,可以通过调用wx.ready函数,在ready回调函数中进行获取openid的操作。 3. 使用uni.request或uni.get请求后端接口,将微信提供的code发送至后端。 4. 后端接口需要通过微信的网页授权接口,调用接口获取access_token和openid。接口调用成功后,可以把openid返回给前端。 5. 前端接收到openid后,可以进行后续的业务逻辑处理,例如用户登录、数据统计等。 需要注意的是,uni微信H5静默授权获取openid需要满足一定的条件,包括要求用户在微信客户端中已经授权过且未取消授权,页面的域名需要与微信公众平台的配置一致等。 总结起来,通过微信JSSDK的配置和调用微信的网页授权接口,可以实现uni微信H5静默授权获取openid的功能。这使得开发者能够更加便捷地获取用户的openid,并基于openid实现个性化的功能和服务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值