收藏
回答

微信H5授权重定向后返回无限循环?

问题已找到解决方案。

把前端逻辑与重定向放到后端,通过接口请求做逻辑301重定向可以解决该问题


代码片段: https://developers.weixin.qq.com/s/A1pfVqmC79fz

授权所需测试号:

因需要维护多个公众号,不同入口的授权,整合了一个授权拼接页

授权拼接页功能:拼接微信H5授权链接,重定向至微信授权链接进行授权

拼接页代码:

import qs from 'qs'
import {request} from '@j/request'
import {tools} from '@j/tools'

function init(e) {
  var search = tools.getUrlData(e.search) //获取所有&后面的参数包括重定向
  queryAppId({ //获取appid
    url: e.href,
    srcChannel: search.wxChannel,
  }).then(({appid}) => {
    var target = search.redirectUrl //获取重定向链接 包括?
    var scope = search.scope //获取授权类型
    delete search.redirectUrl //删除当前页面参数
    delete search.wxChannel //删除当前页面参数
    delete search.scope 
    var curUrl = `${e.origin}${target}&${qs.stringify(search)}` //拼接重定向链接 域名 + 重定向地址 + 参数
    try {
      curUrl = decodeURIComponent(curUrl)
    } catch(error) {
      alert('参数中请勿使用非UTF8编码字符组合')
    }
    curUrl = encodeURIComponent(curUrl) //转义
    location.replace(`https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appid}&redirect_uri=${curUrl}&response_type=code&scope=snsapi_${scope}&state=23432#wechat_redirect`)
  })
}

问题描述:

通过拼接页重定向至微信授权链接,无法在页面栈中去除拼接页的历史记录,入口或授权链接页返回上一页会重新进入拼接页,然后无限循环

(会无限循环:微信H5,开发者工具H5,部分手机小程序,开发者工具小程序webview)

(会停留在拼接页不再授权,显示空白页:部分手机小程序)

最后一次编辑于  05-20
回答关注问题邀请回答
收藏

10 个回答

  • 阿
布
    阿 布
    06-02

    我也出现这种情况

    --↓↓👍点赞是回答的动力哦

    06-02
    有用
    回复
  • Bruce_涛涛
    Bruce_涛涛
    03-25

    解决了吗

    03-25
    有用
    回复 1
    • 韬
      05-20
      已解决,看正文标红
      05-20
      回复
  • 王策
    王策
    2020-12-11

    大佬 解决了吗 我也有这个问题

    2020-12-11
    有用
    回复 1
    • 韬
      05-20
      已解决,看正文标红
      05-20
      回复
  • 张坤
    张坤
    2020-10-09

    楼主解决了吗 我也遇到了相同的问题

    2020-10-09
    有用
    回复 1
    • 韬
      05-20
      已解决,看正文标红
      05-20
      回复
  • 江小咏
    江小咏
    2020-07-13

    问题解决了嘛?

    2020-07-13
    有用
    回复 1
    • 韬
      05-20
      已解决,看正文标红
      05-20
      回复
  • lan
    lan
    2020-06-22

    怎么解决这个问题?各位大佬

    2020-06-22
    有用
    回复 1
    • 韬
      05-20
      已解决,看正文标红
      05-20
      回复
  • 封建迷信
    封建迷信
    2020-04-08

    解决了吗?

    2020-04-08
    有用
    回复 1
    • 韬
      05-20
      已解决,看正文标红
      05-20
      回复
  • 韬
    2020-03-31

    点击进入的链接是我们做的授权拼接页

    通过replace方法重定向到微信授权链接,但是返回依旧能返回到授权拼接页导致无限循环


    2020-03-31
    有用
    回复
  • 社区技术运营专员-小柿子
    社区技术运营专员-小柿子
    2020-03-04

    麻烦在手机微信那里上传下日志: 我->设置->帮助与反馈右上角有个上报日志的入口,麻烦提供一下微信号,时间点

    2020-03-04
    有用
    回复 7
    查看更多(2)
  • Hanks🇨🇳
    Hanks🇨🇳
    2020-02-26

    时灵时不灵?

    --↓↓👍点赞是回答的动力哦

    2020-02-26
    有用
    回复 4
    • 韬
      2020-03-31
      一直是这样,可以看我发的视频
      2020-03-31
      回复
    • Hanks🇨🇳
      Hanks🇨🇳
      2020-04-01回复
      你index.js的逻辑怎么写的
      2020-04-01
      回复
    • 韬
      2020-04-01回复Hanks🇨🇳
      主题里面写了,主要把各个公众号用srcChannel代替,接口动态获取不同环境下的appid,然后拼接 微信授权链接。跳转也是用的replace
      2020-04-01
      回复
    • Hanks🇨🇳
      Hanks🇨🇳
      2020-04-01回复
      怀疑你跳转有问题
      2020-04-01
      回复
登录 后发表内容
问题标签