40163 php,微信授权登录code 40163
1.从公众账户 路径进入下面的 页面
""https://---------/wxCode?appid=--------&redirect_uri=-------&response_type=code&scope=snsapi_userinfo
2.wxCode的html 代码是 github 上的代码 源码来源 https://github.com/HADB/GetWe...
代码如下:
微信登录
var GWC = {
version: '1.1.1',
urlParams: {},
appendParams: function(url, params) {
if (params) {
var baseWithSearch = url.split('#')[0];
var hash = url.split('#')[1];
for (var key in params) {
var attrValue = params[key];
if (attrValue !== undefined) {
var newParam = key + "=" + attrValue;
if (baseWithSearch.indexOf('?') > 0) {
var oldParamReg = new RegExp('^' + key + '=[-%.!~*\'\(\)\\w]*', 'g');
if (oldParamReg.test(baseWithSearch)) {
baseWithSearch = baseWithSearch.replace(oldParamReg, newParam);
} else {
baseWithSearch += "&" + newParam;
}
} else {
baseWithSearch += "?" + newParam;
}
}
}
if (hash) {
url = baseWithSearch + '#' + hash;
} else {
url = baseWithSearch;
}
}
return url;
},
getUrlParams: function() {
var pairs = location.search.substring(1).split('&');
for (var i = 0; i < pairs.length; i++) {
var pos = pairs[i].indexOf('=');
if (pos === -1) {
continue;
}
GWC.urlParams[pairs[i].substring(0, pos)] = decodeURIComponent(pairs[i].substring(pos + 1));
}
},
doRedirect: function() {
var code = GWC.urlParams['code'];
var appId = GWC.urlParams['appid'];
var scope = GWC.urlParams['scope'] || 'snsapi_base';
var state = GWC.urlParams['state'];
var redirectUri;
if (!code) {
//第一步,没有拿到code,跳转至微信授权页面获取code
redirectUri = GWC.appendParams('https://open.weixin.qq.com/connect/oauth2/authorize#wechat_redirect', {
'appid': appId,
'redirect_uri': encodeURIComponent(location.href),
'response_type': 'code',
'scope': scope,
'state': state,
});
} else {
//第二步,从微信授权页面跳转回来,已经获取到了code,再次跳转到实际所需页面
redirectUri = GWC.appendParams(GWC.urlParams['redirect_uri'], {
'code': code,
'state': state
});
}
location.href = redirectUri;
}
};
3.进入 参数的页面时 redirect_uri=------- ,将code从url获取下来 保存到cookie 里 记录了下来。
4.在这个页面里 调用了 一个php 接口。 将code 获取到 传递过去, php 拿到这个code 调用微信接口获取access_token, 接口返回信息 一直都是errcode = 40163;errmsg = code been used 人都快崩溃了。
由于以上 无法解决问题, 又做了如下调整:
1.从Php文件做入口,直接走授权, 跳转页为当前域名下的 H5 html文件, 授权通过后,跳转页 html 参数中带有code。
2.在此H5 html中请求 php接口 并将 url中的code 传递过去,
3.php 通过传递过来的 code 获取access_token ,同样 报errcode = 40163;errmsg = code been used
代码如下 :
入口路径
ht tps://api/getWXCode?redirect_uri=htt ps://api/Minicustomer/receive(此处是php文件中的一个函数)
渲染出来的页面url 带有 code 参数 在此页面中 通过
$.getJSON("https://api*/WxRedPack?code=" + $.isUrlPar("code") + "&amount=" + $.cookie("amount") + "&callback=?", function(data) {
code 传递给php 接口, 调用微信接口获取 access_token 的时候 一直报 errcode = 40163;errmsg = code been used
崩溃!!!
故,寻求 导致原因, 和解决方法。
40163 php,微信授权登录code 40163相关推荐
- code换取微信openid_微信授权登录开发的两种方式
本文主要针对微信公众号(公众平台的开发) 首先理解一个概念:OAuth: OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表), ...
- 微信小程序微信授权登录,使用getPhoneNumber()部分手机无法获取动态令牌code(Taro)
今天在测试微信授权登录时,部分微信使用getPhoneNumber()方法无法获取动态令牌code, 查询微信小程序文档提示: 可以使用组件的方式获取兑换用户手机号的动态令牌. 使用方法: 需要将 b ...
- 关于微信公众号页面获取code进行微信授权登录
关于微信公众号页面获取code进行微信授权登录 前言 提示:本文章为个人平时开发中的一些坑,对于新手可以耐心看一下,如果您感觉可以的话,请点个小星星再走吧,多谢了~~~ 提示:以下是本篇文章正文内容( ...
- 慕课网_《微信授权登录》学习总结
时间:2017年08月12日星期六 说明:本文部分内容均来自慕课网.@慕课网:http://www.imooc.com 教学源码:无 学习源码:https://github.com/zccodere/ ...
- thinkphp 微信授权登录 以及微信实现分享
<?php namespace app\wechat\controller; use think\Controller; use think\Request; /** * 微信授权登录类 * U ...
- ios微信登录不上服务器,iOS微信授权登录
首先需要确保你的App应用在微信开发平台上注册创建并获得对应的接口,对应登录.支付等功能还涉及付费,具体申请流程就不再这里说了.到开放平台->管理中心->移动应用->查看应用,确认你 ...
- Java版本微信授权登录(测试版)
这篇文章是对微信授权登录的一个测试版本,并不能直接在生产上使用,对于在生产上正式使用将会在下一篇中描述. 一,首先需要以下两个数据 appID和appsecret 如何获取这两个数据,请先登录微信公众 ...
- 微信授权登录mock(在没有真实微信账号的情况下测试大量微信账户授权登录的情况)...
场景介绍 对于构建在微信公众号的系统,帐号体系往往使用微信授权登录(如各类微信商城应用系统). 这样操作不仅可以实现静默注册,对用户几乎是无感的,同时也达到了区分用户,获取用户基本信息(头像,昵称等) ...
- 微信授权登录(微信订阅号使用测试账号)
1.微信授权登录: 微信公众号测试登录: 准备: 1.1 花生壳! 下载地址:http://hsk.oray.com/download/ 1.2 微信公众号:https://mp.weixin.qq. ...
- 小程序 - 微信授权登录 微信授权绑定手机号
用户在使用小程序时,经常需要授权登录,授权登录的作用是获取用户的基本信息,如头像.昵称以及openid等,openid可用于微信授权手机号.微信支付. 微信授权登录 .xhtml如下,wxLogin为 ...
最新文章
- Mysql—(1)—
- CentOS 7 安装Apache 2.4.39
- Oracle10g备份集压缩新特性(Backupset Compression)
- 151205 财务管理原理作业(笔试题型)
- _attribute_((packed))
- springboot 配置多个请求服务代理
- python字符画太小_python小项目(-)图片转字符画
- Unity搭建简单的图片服务器
- 【图像处理】MATLAB:图像噪声
- 编程之美读书笔记1.2——中国象棋将帅问题
- tcl机顶盒 tk 8296刷机固件及教程
- 华为交换机做qos案例_华为交换机QoS在企业网络中的应用
- 通过云服务器实现淘宝京东抢拍器
- OFDM专题之多径效应引起的码间串扰问题
- Linux如何配置DNS服务器
- Quixel bridge桥接设置
- win7家庭版计算机添加用户,win7家庭版怎样设置来宾用户权限
- View被遮挡的解决办法
- 自己动手刷原生android系统
- 这是一篇儿正儿八经的自我介绍~
热门文章
- MapReduce经典案例-TopN
- 我为什么学习设计模式
- html中单元格向下合并单元格,html中单元格合并 HTML 怎么给合并单元格设置宽度...
- MSP430F5529 多路PWM输出控制舵机和电机
- D. Count GCD
- 【Ps2D】将PS图层导入Unity的插件
- 线程----code
- 2022-2027年(新版)中国钢铁产业运行状况及需求前景预测报告
- Collecting package metadata (current_repodata.json): failed
- android 控制手机,如何用Android手机控制另一部手机[详细说明]