欢迎您, 来到 宁时修博客.^_^

thinkPHP3.2.3之微信第三方登录

2016/08/22 宁时修 php 2186
微信第三方登录

第一步 获取AppIDAppSecret

获取ID和secret我们需要到“微信开放平台“。下面是微信开放平台地址:https://open.weixin.qq.com/cgi-bin/index?t=home/index&lang=zh_CN&token=5d28093f74ce2c65cbb8c13827972910e534d67f


第二步 申请的流程

1.     打开微信开放平台之后开始注册你的开放平台账号 或者 如果你已经有公众号账号了可以直接使用登录。

2.     注册之后,点击首页,首页下面有一项 网站开发应用 点击了解更多,点击创建应用,按照流程申请即可!

1.png

 

3.     申请成功之后,进入到

2.png

4.还有一点需要 特别注意   在填写回调地址的时候,可能跟QQ互联和 新浪 不太一样,微信的回调地址是在程序里面的,而不是在微信开放平台设置的,在微信开放平台我们只需要设置 你的 回调域 就可以了! 什么是回调域就是你们自己的官方网址即可,网址不能携带http(s) 协议!

3.png

 

4.png

5.微信第三方登录获取用户信息在微信看来是非常重要的事情,毕竟是微信嘛,所以在调用用户的信息的时候,还需要在微信开放平台绑定你的公众号。而且公众号必须还是认证过的服务号开发者模式!需要注意是:如果是 订阅号 或者 没有认证的账号都是没权限的,在使用微信登录的时候会出现 Scope参数错误或Scope没权限的问题

5.png

6.png

 

6.绑定好公众号之后,进入到公众号开放平台

https://mp.weixin.qq.com/

查看是否具备该权限

7.png

8.png

公众号位置:就在接口权限里面-》功能服务-》网页账号

如果已具备,修改一下Oauth2.0 授权回调页面域名 填写你的官方网站即可

 

第三步 程序处理 PHP 基于 ThinkSDK

//微信登录 
'THINK_SDK_WEIXIN' => array(
    'APP_KEY' => 'xxxxxxxxxxxxxxxxxx',// 微信开放平台 申请成功的 appid 
    'APP_SECRET' => 'xxxxxxxxxxxxxxxxx',// 微信开放平台 申请成功的 appSecret
    'CALLBACK' => "http://" . $_SERVER['HTTP_HOST'] . "/users/oauth/callback/type/weixin",//应用回调处理地址
),
引入ThinkSdk 包
//登录成功,获取微信用户信息
 public function weixin($token) {
    $weixin   = \ThinkOauth::getInstance('weixin', $token);
    $data = $weixin->call('sns/userinfo');
    //{"errcode":48001,"errmsg":"req id: _J0076ns23, api unauthorized"}
    if (empty($data['ret'])) {
       if (!empty($data['errcode'])) {
          throw_exception("获取微信用户信息失败:errcode:{$data['errcode']} errmsg: {$data['errmsg']}");
       }
    }
    if($data['ret'] == 0){
       $userInfo['type'] = 'WEIXIN';
       $userInfo['name'] = $data['nickname'];
       $userInfo['nick'] = $data['nickname'];
       $userInfo['head'] = $data['headimgurl'];
       return $userInfo;
    } else {
       throw_exception("获取微信用户信息失败:{$data['msg']}");
    }
 }

使用案列源码:https://gitee.com/cp.net/tk_blog

微信开放平台

文档:https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419316505&token=5d28093f74ce2c65cbb8c13827972910e534d67f&lang=zh_CN

点赞
说说你的看法

所有评论: (1)

# 加入组织

1、用手机QQ扫左侧二维码

2、搜Q群:1058582137

3、点击 宁时修博客交流群