zoukankan      html  css  js  c++  java
  • 简单的qq第三方登录的实现

    简单的qq第三方登录的实现 使用框架 laravel 

     使用安装包 参照文档安装

    "socialiteproviders/qq": "^3.0",

    代码逻辑
    请求接口代码,使用默认的配置参数
    public function qq()
    {
    return Socialite::with('qq')->redirect();
    }
    自定义参数接口代码
    $clientId = "secret"; $clientSecret = "secret";
    $redirectUrl = "http://yourdomain.com/api/redirect";
    $additionalProviderConfig = ['site' => 'meta.stackoverflow.com'];
    $config = new SocialiteProvidersManagerConfig($clientId, $clientSecret, $redirectUrl, $additionalProviderConfig);
    return Socialite::with('weixin')->setConfig($config)->redirect();

    回调函数代码获取用户的一系列信息
    public function qqlogin()
    {
    $user = Socialite::driver('qq')->stateless()->user();
    $accessTokenResponseBody = $user->accessTokenResponseBody;
    dd($user);die;
    }
    这里statrless 有点坑 有时候可以不加 有时候不加会报未定义的错误,需要注意一下,微信,微博第三方登录大体如此

    如果使用的包比较老 如laravel 5.1又发现一个坑,之前3.0的包只用装
    "socialiteproviders/qq": "^3.0",就可以实现
    如果是5.1要用比较老的包的话还要装 "socialiteproviders/manager": "2.1.2" 这个 不然无法获取openid
    5.1使用的版本包
     "socialiteproviders/manager": "2.1.2",
            "socialiteproviders/weibo": "2.0.1",
            "socialiteproviders/qq": "2.0.3",
            "socialiteproviders/weixin-web": "2.0.1",
            "socialiteproviders/weixin": "2.1.1",
     
    使用自定义参数 做登录时(老版本才有的问题)
    use SocialiteProvidersManagerContractsConfigInterface as Config;

    trait ConfigTrait
    {
    protected $config;

    public function setConfig(Config $config)
    }
    这里面的命名config有一个坑,会报错 需要把config改成其他名字命名

  • 相关阅读:
    HDU-2072-单词数(字典树)
    HDU-1251-统计难题(字典树)
    POJ-3630-Phone List(字典树)
    Acwing-204-表达整数的奇怪方式(扩展中国剩余定理)
    Acwing-203-同余方程(扩展欧几里得)
    Acwing-202-最幸运的数字(同余, 欧拉定理)
    Acwing-201-可见的点(数学, 欧拉函数)
    sql2014 新建用户并登陆
    sql修改约束语法练习
    java中static作用详解
  • 原文地址:https://www.cnblogs.com/chen1970s/p/7346404.html
Copyright © 2011-2022 走看看