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改成其他名字命名

  • 相关阅读:
    android启动模式2
    acvitity的日常 启动模式(上)
    Fragment 切换问题
    异常处理
    Xutils的使用 转载 带自己细细研究
    hibernate 增删改
    OGNL
    JDBC
    Struts 文件的上传与下载
    ActionContext和ServletActionContext小结
  • 原文地址:https://www.cnblogs.com/chen1970s/p/7346404.html
Copyright © 2011-2022 走看看