收藏
回答

企业微信vue hash模式下网页授权返回的code没有接到url后面

在企业微信网页授权中,
这个我构造的授权链接:https://open.weixin.qq.com/connect/oauth2/authorize?appid=ww64d37a259f64a341&redirect_uri=http%3a%2f%2fkf.eipub.vip%3a3456%2f%23%2fquestion&response_type=code&scope=snsapi_base&state=#wechat_redirect
我期望得到的链接是:http://kf.eipub.vip:3456/#/question?code=otRG0-v6GX6L87pCkJOZW_XwAH2e9xcuclVlL5-eobk&state=
返回的回调链接是:http://kf.eipub.vip:3456/?code=otRG0-v6GX6L87pCkJOZW_XwAH2e9xcuclVlL5-eobk&state=#/question

返回的code按理应该拼到url后面的,请问为什么会拼到中间去了

请问这个场景有好的解决方案吗?????

回答关注问题邀请回答
收藏

4 个回答

  • 企业微信运营专员-千夜
    企业微信运营专员-千夜
    2019-09-26

    这里是对齐公众平台,将#放到后面才是符合对应的url规则的,企业微信接口oauth2文档

    https://work.weixin.qq.com/api/doc#90000/90135/91022,

    2019-09-26
    有用
    回复 1
    • czc
      czc
      2019-09-27
      #放到后面才是符合对应的url规则的???
      2019-09-27
      1
      回复
  • czc
    czc
    2019-12-25

    这边是在iis下面做url重写,把/#/后面的路由重写进url里面。可以解决这个问题

    2019-12-25
    有用 3
    回复 2
    • 陈婷媛
      陈婷媛
      2023-10-25
      你好,请问下这块具体是怎么实现的
      2023-10-25
      回复
    • 赵公明在上
      赵公明在上
      04-02
      用一下代理就行,路径中的#改为/every/,后台在nigax中匹配/every 再替换成# 就ok了
      04-02
      回复
  • Eric
    Eric
    2020-07-21
    getQueryString(name) {
      const reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)''i');
      const result = window.location.search.substring(1).match(reg);
      if (result != null) {
        return decodeURIComponent(result[2]);
      }
      return null;
    }
    
    // 通过原生 JS 去获取 code
    getQueryString('code')
    
    2020-07-21
    有用 2
    回复
  • 2019-12-23

    同问,这个有解决方案了吗?

    2019-12-23
    有用
    回复 3
    • czc
      czc
      2019-12-25
      这边是在iis下面做url重写,把/#/后面的路由重写进url里面。可以解决这个问题
      2019-12-25
      1
      回复
    • 2020-01-01回复czc
      经过测试,请求获取code时,将路由变成一个普通url变量,微信重定向回来时,再根据变量值改写路由,也是可以的。
      2020-01-01
      1
      回复
    • M_G
      M_G
      2023-02-10回复
      那你重定向回来不是错的地址?路由能进这个错的地址吗
      2023-02-10
      回复
登录 后发表内容
问题标签