微信授权登录:redirect_url域名与后台配置不一致,错误码:10003
首页->学习资料->编程语言->php教程->微信开发 关键词: 发布时间:2018-11-14 03:04:19 浏览次数:4278

先检查appid是否配置正确


配置配置-》服务器配置:网上说先停用再启动等十分钟后就可以了,说是可能配置没生效; 试过无效


公众号设置-》功能设置那几个域名不要带http,试过无效


后来发现是urlencode的问题,官方文档原话:授权后重定向的回调链接地址, 请使用 urlEncode 对链接进行处理

由于我这里是在页面生成的链接,用户点击后跳转,这样先用urlEncode转码后,浏览器相当于多urlencode了一次,去掉urlencode转码就好了


去掉下面的urlencode即可,坑啊。。

//微信浏览器中:点击授权按钮
$api = 'https://open.weixin.qq.com/connect/oauth2/authorize';
$param = [
    'appid' => $this->appId,
    'redirect_uri' => urlencode($this->redirectUrl),//文档上说这里要用urlencode处理,实现加上了一直报:redirect_url域名与后台配置不一致,错误码:10003
    'response_type' => 'code',
    'scope' => 'snsapi_userinfo',
    'state' => $userId,
];
$param['scope'] = 'snsapi_userinfo';
$url = $api . '?' . http_build_query($param) . '#wechat_redirect';



另附上基本配置那里,验证token的方法

public function token()
{
    $signature = $_REQUEST['signature'];
    $timestamp = $_REQUEST['timestamp'];
    $nonce = $_REQUEST['nonce'];
    $echostr = $_REQUEST['echostr'];
    if ($this->checkSignature($signature, $timestamp, $nonce)) {
        echo $echostr;
        die;//这里特别注意,如果不用die结束程序会token验证失败
    } else {
        echo false;
    }
}

private function checkSignature($signature, $timestamp, $nonce)
{
    $token = $this->config['token'];//这里写你在微信公众平台里面填写的token
    $tmpArr = array($token, $timestamp, $nonce);
    sort($tmpArr, SORT_STRING);
    $tmpStr = implode($tmpArr);
    $tmpStr = sha1($tmpStr);
    if ($tmpStr == $signature) {
        return true;
    } else {
        return false;
    }
}


赞:(6)
踩:(19)
相关文章
保存微信用户头像到本地
微信分享到朋友圈及好友
微信分享到朋友圈在android中正常
微信公众平台:服务号,订阅号,企
微信开放平台与公众平台的区别
注册微信公众号
设置自动回复
开发模式
微信公众平台开发一个入门例子
热门文章
win7中将文件拷贝到虚拟机linux下
phpexcel设置行高及列宽,背景颜色,
rabbitmq无法启动
intellij idea不显示git push按钮
php7中使用mongodb的aggregate进行
centos7.4 64位下swoole安装及配置
laravel页面静态化的方法
navicate连接mycat报1184错误
单点登录sso原理及php实现方式及de
devops-jenkins容器为pending状态
好评文章
phpexcel设置行高及列宽,背景颜色,
php7中使用mongodb的aggregate进行
intellij idea打开文件所在文件夹
windows下使用MongoDB Compass Com
win7中将文件拷贝到虚拟机linux下
laravel 中悲观锁 & 乐观锁的使用
单点登录sso原理及php实现方式及de
navicate连接mycat报1184错误
rabbitmq无法启动
laravel整合dingo/api方法步骤:jwt
标签
rabbitmq mysql备份 elasticsearch golang swoole
我的项目
【github】www.github.com/hurong241
【码云】gitee.com/hu_rong/projects
【docker hub】hub.docker.com/repositories/hurong241
【packagist】packagist.org/users/hurong241/packages
站点信息
建站时间:2011年
文章数:607篇
浏览数:933078
粤ICP备18028092号-1  微信:hurong241