Git Product home page Git Product logo

getweixincode's Issues

是不是不支持用了cdn和强制性跳转到https的网站?

比如我授权域名是:www.git.com ,网站A。
另外个域名是:test.git.com,网站B。
我在网站B里面把授权代码的读取链接改成了:https://www.git.com/get-weixin-code?appid=
这个时候访问test.git.com,会出现反复登录的问题,一直循环。

网站B test.git.com做了https强制性跳转。
或者是没改对代码?

原来网站b的授权代码是:
public function getOauthCodeUrl($callback, $state = '') {
return "https://open.weixin.qq.com/connect/oauth2/authorize?appid={$this->account['key']}&redirect_uri={$callback}&response_type=code&scope=snsapi_base&state={$state}#wechat_redirect";
}
改成了:
public function getOauthCodeUrl($callback, $state = '') {
return "https://www.git.com/get-weixin-code?appid={$this->account['key']}&redirect_uri={$callback}&response_type=code&scope=snsapi_base&state={$state}#wechat_redirect";
}

域名校验问题

你好,在看微信公众号的文档中看到下面着一条:
尤其注意:由于公众号的secret和获取到的access_token安全级别都非常高,必须只保存在服务器,不允许传给客户端。后续刷新access_token、通过access_token获取用户信息等步骤,也必须从服务器发起。
目前手头没有服务号可以进行测试,请问微信是否会对用code和appsecret换取openid这个接口的发起服务器域名进行校验。比如绑定了abc.com,最后是xyz.com的服务器发起请求获取access_token

redirectUrl中参数问题

如果在redirecturl中带有额外的参数,&符号,好象就会报错,appid参数错误,不知道什么原因,redirecturl已经encode过

请教一个微信开发问题

通过微信公众号 菜单 跳转到其他域名的页面时 出现空白页面问题 跳转授权回调页面 是没问题的 但是其他域名的页面 都是空白页面 如www.baidu.com 请问这种情况如何解决?

为什么需要第二步?

    //第一步,没有拿到code,跳转至微信授权页面获取code
    redirectUri = GWC.appendParams(baseUrl, {
        'appid': appId,
        'redirect_uri': encodeURIComponent(location.href),
         'response_type': 'code',
         'scope': scope,
         'state': encodeURIComponent(state),
     });

把这里的redirect_url 改成 GWC.urlParams['redirect_uri'],不就可以授权后直接跳回目标网址吗,为啥还要跳回来,再跳到目标网址呢?

通过一个域名301到您的这个授权url,微信不跳转

通过一个域名301到您的这个授权url,微信不跳转,能获取到get-wexin-code.html文件,但是不再跳转了,如果改成302跳转,就没问题.
update: 看了一下,是获取微信授权的时候没识别到客户端,提示请在微信客户端打开链接

授权问题

报错系统错误,错误码:-1,undefined,请问有同样的吗

跳转到的url如果有多个参数的话,只能传第一个

例如下面的url,
http://dev.order.panpom.com/code/get-weixin-code.html?appid=wx8576fc5a32db3fa0&scope=snsapi_base&state=hello-world&redirect_uri=http://h.93pk.com?Im=abc&gourl=123
实际跳转地址是 http://h.93pk.com/?Im=abc&code=081WYLou0QXK6f1uQhpu0yH2pu0WYLot&state=hello-world ,缺少gourl参数

能不能再具体点,我还是不知道如何来设置

比如,我有一个域名为 aaa.com 然后这个域名指向一个网站A,我又用 bbb.aaa.com二级域名指向另外一个独立的网站B。

然后我如果设置授权域名为 bbbb.aaa.com则 网站B的回调地址 http://bbbb.aaa.com/xxx/xxx/xxxx.php可以完成。

如果我设置授权域名为 aaa.com则网站B提示 redirect_uri参数错误。

我如果把你的提供文件get-weixin-code.html 放在 aaa.com网站A的根目录。那么接下来如何设置??

一个问题

有一个问题,在微信做完授权重定向回来的请求,怎么拉得到之前设置的redirect_uri呢?看代码,else里面直接获取到了redirect_uri. 总感觉有问题呀。

redirect_url 多参数的情况是不是不适用呢

在www.abc.com域名下部署get-weixin-code.html
需要获取微信授权 的地址是 http://www.xyz.com/index.php?a=3&b=4

这时候
http://www.abc.com/xxx/get-weixin-code.html?appid=XXXX&scope=snsapi_base&state=hello-world&redirect_uri=http%3A%2F%2Fwww.xyz.com%2Findex.php%3Fa%3D326%b%3D4

这样就提示 redirect_url 参数错误

如何解决「取消授权」留在中间页,而不是关闭页面?

在中间页跳到微信的授权页,进行授权时,当用户点击「取消授权」,页面没有自动关闭,而是留在中间页。

如果不使用中间页进行跳转,直接访问微信的授权页,点击「取消授权」可以自动关闭页面。

重现步骤:

  • 访问使用带有回调地址的中间页
  • 中间页自动跳到微信中间页
  • 点击 「取消」授权
  • 页面没有自动关闭,留在中间页。

尝试解决的方法:

本以为是页面已经跳转,但是路由栏没有变成微信的地址。猜想,如果不是微信的地址就不会关闭。
所以将location.href = redirectUri;,改成了location.href = redirectUri + "&t=" + (new Date().getTime());。 强制不让微信内置浏览器不进行缓存。实际效果,还是不可以。

请问有办法,在中间页监听微信的取消事件么?如果能监听到的话,就可以点击取消的时候,关闭窗口。

授权回调域名校验出错

我依照您项目里面提供的方法,在微信浏览器返回“授权回调域名校验出错,错误码:10003”。
因为我真实回调地址特别简单所以这部分encode应该没问题,仔细核对了您构造的回调地址感觉也没有问题,但是不知道是不是微信内部的正则现在不允许这样进行回调,烦请您看看我的这个问题。
下面是示例:
http://weitest.test.com/get-weixin-code.html?appid=APPID&scope=snsapi_userinfo&state=hello-world&redirect_uri=http%3A%2F%2Fwap.test.com%2F

其实没必要这么麻烦

其实可以直接使用nginx的代理功能或者是rewrite功能,直接将一个域名分发到其他域名上

二次获取access_token问题

在get-weixin-code.html中获取到了code这是没问题的,但第二次获取access_token的时候需要appid和secret,这两个都是在get-weixin-code这个项目认证后所固定的,也就是说其他系统需要写死这两个值,为何不在get-weixin-code.html中拿到code之后直接去请求access_token再把信息传递回来

嵌入公众号问题

使用这个方法嵌入公众号菜单栏,菜单栏1(abc.html)、菜单栏2(def.html).
使用这个方法现在打开菜单栏1就无法打开菜单栏2. 同理打开2 ,就无法打开1

thanks

I have use it to combine our corder , It works , thank you !

第二次腾讯回调时候,怎么还有redirect_uri这个参数?

你好,感谢你的技术方案,有个地方一直没有想明白。第二次腾讯回调到中间授权页面时,怎会还有这个direct_uri 这个参数呢?这个参数应该是第一次真正的应用带过来的,中间调用腾讯的时候,回调已经手动改成中间代理的地址了location.href。页面都刷新了。怎么还有一个前面那个参数?实在想不明白。希望不吝解释下。

wechatimg37

那access token怎么办?

多个项目都获取access token,那会不会导致一个项目获取accesstoken后另外一个项目的accesstoken 过期?

此rep是初衷是为了解决微信公众号回调域名仅切只有一个的问题?存疑 :)

clone下来看了看,对于代码的实现具体了然于心,其部署还是不太了解,可行性存疑
'redirect_uri': encodeURIComponent(location.href) 在未获取到code的情况下,中间站拿到的当前域名的uri,而在具体做跳转到微信那边也会对redirect_uri进行检测是否匹配你所在平台配置的域名,而在else回来的时候自然也是行不通的,微信公众号对其开发者提供了state值,可任意传递值,可在此参数进行各个子业务的区分然而对code进行充分的加盐加密回调各自业务系统;水准不佳若有误解、还望见谅多交流。

授权地址暴露问题

如果此地址被用户手机访问授权地址暴露,很可能会让他人恶意使用授权访问。可以在跳转处加些主机名访问控制。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.