GithubHelp home page GithubHelp logo

getweixincode's Introduction

Hi, this is Bean Deng 👋

I'm a full-stack developer and I love coding.

Github Stars Blog

Top langs

GitHub stats

Trophies

getweixincode's People

Contributors

eker-huang avatar hadb avatar kischang avatar star769706697 avatar tianhe1986 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

getweixincode's Issues

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 参数错误

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

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

域名校验问题

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

是不是不支持用了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";
}

嵌入公众号问题

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

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

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

wechatimg37

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

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

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

重现步骤:

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

尝试解决的方法:

本以为是页面已经跳转,但是路由栏没有变成微信的地址。猜想,如果不是微信的地址就不会关闭。
所以将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

二次获取access_token问题

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

redirectUrl中参数问题

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

授权问题

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

一个问题

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

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

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

授权地址暴露问题

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

thanks

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

其实没必要这么麻烦

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

那access token怎么办?

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

跳转到的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参数

为什么需要第二步?

    //第一步,没有拿到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'],不就可以授权后直接跳回目标网址吗,为啥还要跳回来,再跳到目标网址呢?

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

比如,我有一个域名为 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的根目录。那么接下来如何设置??

请教一个微信开发问题

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

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.