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

发布于 2018-11-20 09:48:38

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

查看更多

关注者
2
被浏览
1.1k
imnpc
imnpc 2018-11-20
这家伙很懒,什么也没写!

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

const GET_AUTH_QRCODE_URL = "https://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;
    }
5 个回答
千鸟
千鸟 2018-11-20
这家伙很懒,什么也没写!

感谢大佬,马上去测试

likeni
likeni 2019-02-21
软妹子····

请问,第一步怎么写?
1.后台 第三方登录 微信增加配置项 is_qrcode 值为0 默认微信内登录 ,值为1 开启QR登录
scope 修改为 snsapi_login ,QR登录只支持这个

json
json 2019-04-13
这家伙很懒,什么也没写!

提示 Scope 参数错误或没有 Scope 权限

jianbs
jianbs 2019-05-25
这家伙很懒,什么也没写!

微信公众号(公众平台) 和 微信开放平台 是两码事。公众号(公众平台)获取的scope只包括两种:snsapi_base 和snsapi_userinfo,前者是静默获取,用户无感知;后者是需要用户确认同意的。

但是微信开放平台(https://open.weixin.qq.com/) 就可以获取snsapi_login这种scope。坑爹的是,公众平台的认证和开放平台的认证是独立的,你如果想获取snsapi_login,还需要重新注册开放平台,交300块钱认证。

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览