第三方登录建议增加pc端微信扫码登陆

千鸟 2月前 202

第三方登录建议增加pc端微信扫码登陆

最佳回复
  • imnpc 2月前

    实现方法
    1.后台 第三方登录 微信增加配置项 is_qrcode 值为0 默认微信内登录 ,值为1 开启QR登录
    scope 修改为 snsapi_login ,QR登录只支持这个
    2./addons/third/library/Wechat.php 增加

    const GET_AUTH_QRCODE_URL = "open.weixin.qq.com/connect/qrconnect";
    1. getAuthorizeUrl() 里面增加判断
        /**
         * 获取authorize_url
         */
        public function getAuthorizeUrl()
        {
            $state = md5(uniqid(rand(), TRUE));
            Session::set('state', $state);
            $queryarr = array(
                "appid"         => $this->config['app_id'],
                "redirect_uri"  => $this->config['callback'],
                "response_type" => "code",
                "scope"         => $this->config['scope'],
                "state"         => $state,
            );
            request()->isMobile() && $queryarr['display'] = 'mobile';
            if ($this->config['is_qrcode'] == 1) {
                $url = self::GET_AUTH_QRCODE_URL . '?' . http_build_query($queryarr) . '#wechat_redirect';
            } else {
                $url = self::GET_AUTH_CODE_URL . '?' . http_build_query($queryarr) . '#wechat_redirect';
            }
            return $url;
        }
最新回复 (2)
  • imnpc 最佳回复 2月前
    感谢TA
    0 引用 2

    实现方法
    1.后台 第三方登录 微信增加配置项 is_qrcode 值为0 默认微信内登录 ,值为1 开启QR登录
    scope 修改为 snsapi_login ,QR登录只支持这个
    2./addons/third/library/Wechat.php 增加

    const GET_AUTH_QRCODE_URL = "open.weixin.qq.com/connect/qrconnect";
    1. getAuthorizeUrl() 里面增加判断
        /**
         * 获取authorize_url
         */
        public function getAuthorizeUrl()
        {
            $state = md5(uniqid(rand(), TRUE));
            Session::set('state', $state);
            $queryarr = array(
                "appid"         => $this->config['app_id'],
                "redirect_uri"  => $this->config['callback'],
                "response_type" => "code",
                "scope"         => $this->config['scope'],
                "state"         => $state,
            );
            request()->isMobile() && $queryarr['display'] = 'mobile';
            if ($this->config['is_qrcode'] == 1) {
                $url = self::GET_AUTH_QRCODE_URL . '?' . http_build_query($queryarr) . '#wechat_redirect';
            } else {
                $url = self::GET_AUTH_CODE_URL . '?' . http_build_query($queryarr) . '#wechat_redirect';
            }
            return $url;
        }
    最后于 2月前 被imnpc编辑
  • 千鸟 楼主 2月前
    感谢TA
    0 引用 3

    感谢大佬,马上去测试

  • 未登录
    4
返回