Thinkphp5和EasyWeChat进行网页授权登录

浏览:547 发布日期:2017/09/13 分类:业务逻辑
Thinkphp5和EasyWeChat进行网页授权登录
安装配置不做多余的介绍,详情查看
http://www.thinkphp.cn/topic/45416.html
微信网页授权配置正式开始
1.修改微信官方信息
总共需要修改三个地方的域名
接口配置信息

JS接口安全域名

网页授权获取用户基本信息

2.粘贴代码开始
开始授权    function profile(){
        $conf= $this->config();
        $app = new Application($conf);
        $oauth=$app->oauth;
        if (empty(Session::get('wechat_user'))){
            Session::set('target_url', '/wx/index/profile');
            return $oauth->redirect();
        }
        $user=Session::get('wechat_user');
    }
授权成功回调        function oauth_callback(){
        $conf= $this->config();
        $app = new Application($conf);
        $oauth = $app->oauth;
        $user = $oauth->user();
        Session::set('wechat_user',$user);
        $targetUrl =empty(Session::get('target_url'))?'/wx/index/success':Session::get('target_url');
        header('location:'. $targetUrl); // 跳转到 user/profile
    }
授权成功之后开始输出信息  function success(){
      $user=Session::get('wechat_user');
      //将用户的基本信息保存在数据库中,然后提供下次进行使用
      print_r($user);
    }
config配置信息    function config(){
        $config=[
            /**
             * Debug 模式,bool 值:true/false
             *
             * 当值为 false 时,所有的日志都不会记录
             */
            'debug'  => false,
            /**
             * 账号基本信息,请从微信公众平台/开放平台获取
             */
            'app_id'  => '',         // AppID
            'secret'  => '',     // AppSecret
            'token'   => '',          // Token
            'aes_key' => '',                    // EncodingAESKey,安全模式下请一定要填写!!!
            /**
             * 日志配置
             *
             * level: 日志级别, 可选为:
             *         debug/info/notice/warning/error/critical/alert/emergency
             * permission:日志文件权限(可选),默认为null(若为null值,monolog会取0644)
             * file:日志文件位置(绝对路径!!!),要求可写权限
             */
            'log' => [
                'level'      => 'debug',
                'permission' => 0777,
                'file'       => '/tmp/easywechat.log',
            ],
            /**
             * OAuth 配置
             *
             * scopes:公众平台(snsapi_userinfo / snsapi_base),开放平台:snsapi_login
             * callback:OAuth授权完成后的回调页地址
             */
            'oauth' => [
                'scopes'   => ['snsapi_userinfo'],
                'callback' => '/wx/index/oauth_callback',
            ],
            /**
             * 微信支付
             */
            'payment' => [
                'merchant_id'        => 'your-mch-id',
                'key'                => 'key-for-signature',
                'cert_path'          => 'path/to/your/cert.pem', // XXX: 绝对路径!!!!
                'key_path'           => 'path/to/your/key',      // XXX: 绝对路径!!!!
                // 'device_info'     => '013467007045764',
                // 'sub_app_id'      => '',
                // 'sub_merchant_id' => '',
                // ...
            ],
            /**
             * Guzzle 全局设置
             *
             * 更多请参考: http://docs.guzzlephp.org/en/latest/request-options.html
             */
            'guzzle' => [
                'timeout' => 3.0, // 超时时间(秒)
                //'verify' => false, // 关掉 SSL 认证(强烈不建议!!!)
            ],
        ];
        return $config;
    }
注意点
1.网页授权回调页面域名,当时我理解为到具体的模块中具体的控制器中的具体的方法,询问一个大牛之后,才发现只需要绑定授权域名即可。
评论( 相关
后面还有条评论,点击查看>>