在验证laravel 中   InvalidArgumentException Driver [WeiBo] not supported.

  1. public function weibo()
  2. {
  3. return Socialite::driver('weibo')->redirect();
  4. // return \Socialite::with('WeiBo')->scopes(array('email'))->redirect();
  5. }
  1. public function callback()
  2. {
  3. /*$code=request('code');
  4. dd($code);*/
  5. $oauthUser = Socialite::driver('weibo')->user();
  6. // dd($oauthUser);
  7. $sina_id = (int)$oauthUser->getId();
  8. $name = $oauthUser->getName();
  9. $nickname = $oauthUser->getNickname();
  10. $email = $oauthUser->getEmail();
  11. $sina_avatar = $oauthUser->getAvatar();
  12.  
  13. /* //从 Token(OAuth2)中获取用户信息
  14. $token = $oauthUser->token;
  15. $user = Socialite::driver('WeiBo')->userFromToken($token);
  16. dd($user);*/
  17.  
  18. $where['sina_id'] = $sina_id;
  19. $userDetail = ThirdLogin::where($where)->first();
  20. //若sina_id用户不存在,向third_login表中添加用户信息的同时,向user表中也添加条信息,
  21. //将user信息与third_login,方便前台登录查询
  22. if (empty($userDetail)) {
  23. $user = ThirdLogin::create(compact('sina_id', 'name', 'nickname', 'email', 'sina_avatar'));
  24.  
  25. $name = $user->nickname;
  26. $avatar = $user->sina_avatar;
  27. $email = $user->email;
  28. $third_id = $user->sina_id;
  29. $password = 0;
  30. User::create(compact('name', 'password', 'email', 'avatar', 'third_id'));
  31.  
  32. //使用Auth::login(实例,true)授权登录 ,这部分代码不能拿出去优化
  33. $is_user = user::where('third_id', $user->sina_id)->first();
  34. Auth::login($is_user, $remember = false);
  35. if (\Auth::check()) {//授权成功
  36. return \redirect('/posts');
  37. } else {
  38. return \Redirect::back()->withErrors('授权失败');
  39. }
  40. // User::third_login($user);
  41. } else {
  42.  
  43. $is_user = user::where('third_id', $userDetail->sina_id)->first();
  44. Auth::login($is_user, $remember = false);
  45. if (\Auth::check()) {//授权成功
  46. return \redirect('/posts');
  47. } else {
  48. return \Redirect::back()->withErrors('授权失败');
  49. }
  50.  
  51. // User::third_login($userDetail);
  52. // return Redirect::back()->withErrors('微博用户'.$userDetail->nickname.'已存在');
  53. }
  54.  
  55. }

laravel 中使用tinker 验证驱动加载是否成功的更多相关文章

  1. 关于Eclipse在servlet中连接数据库时出现驱动加载失败的解决

    问题:在队友发来的项目中想将他获取到的数据通过数据库储存,出现驱动加载失败问题 解决:首先百度了下相关情况,大多数都是说下载mysql-connector-java-5.1.39-bin.jar包,然 ...

  2. laravel中的自定义函数的加载和第三方扩展库加载

    l 1. 创建文件 app/Helpers/functions.php <?php // 示例函数 function foo() { return "foo"; } 2. 修 ...

  3. (DT系列四)驱动加载中, 如何取得device tree中的属性

    本文以At91rm9200平台为例,从源码实现的角度来分析驱动加载时,Device tree的属性是如何取得的.一:系统级初始化DT_MACHINE_START 主要是定义"struct m ...

  4. 【转】(DT系列四)驱动加载中, 如何取得device tree中的属性

    原文网址:http://www.cnblogs.com/biglucky/p/4057488.html 本文以At91rm9200平台为例,从源码实现的角度来分析驱动加载时,Device tree的属 ...

  5. 如何调整Linux内核启动中的驱动初始化顺序-驱动加载优先级

    Linux内核为不同驱动的加载顺序对应不同的优先级,定义了一些宏: include\linux\init.h #define pure_initcall(fn) __define_initcall(& ...

  6. 老调重弹:JDBC系列之<驱动加载原理全面解析) ----转

      最近在研究Mybatis框架,由于该框架基于JDBC,想要很好地理解和学习Mybatis,必须要对JDBC有较深入的了解.所以便把JDBC 这个东东翻出来,好好总结一番,作为自己的笔记,也是给读者 ...

  7. linux设备和驱动加载的先后顺序

    点击打开链接 Linux驱动先注册总线,总线上可以先挂device,也可以先挂driver,那么究竟怎么控制先后的顺序呢. Linux系统使用两种方式去加载系统中的模块:动态和静态. 静态加载:将所有 ...

  8. linux 设备驱动加载的先后顺序

    Linux驱动先注册总线,总线上可以先挂device,也可以先挂driver,那么究竟怎么控制先后的顺序呢. 1.初始化宏 Linux系统使用两种方式去加载系统中的模块:动态和静态. 静态加载:将所有 ...

  9. 【ESXI6.0】 ESXI6.0安装时无法安装网卡驱动的解决方法及将网卡驱动加载进ISO

    http://blog.163.com/xifanliang@yeah/blog/static/115078488201571584321787/ 若安装时提示如下图所示 之后安装无法完成,会提示没有 ...

随机推荐

  1. ACdream 1108(莫队)

    题目链接 The kth number Time Limit: 12000/6000MS (Java/Others)Memory Limit: 128000/64000KB (Java/Others) ...

  2. SEO中HTML标签权重列表

    网上流传很久的一份资料<SEO中HTML标签权重>,这里做一份备份. HTML标签权重分值排列 内部链接文字:10分 标题title:10分 域名:7分 H1,H2字号标题:5分 每段首句 ...

  3. python应用文件读取写登录注册

    #!/usr/bin/python3# -*- coding: utf-8 -*-# Author: zhw#读取文件中的内容def open_file(filename ,file_type , * ...

  4. python 数据组合

  5. 解决VC编译的DLL要安装对应运行环境否则无法使用的问题

    编译时候改成静态链接,再通过使用Depends软件查看依赖即可.具体操作步骤:项目->属性->配置属性->C/C++-代码生成->运行库->多线程(/MT)说明:这种方法 ...

  6. Codefroces 213E. Two Permutations

    E. Two Permutations time limit per test 3 seconds memory limit per test 256 megabytes input standard ...

  7. 【CodeVS】1792 分解质因数

    1792 分解质因数 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 青铜 Bronze 题目描述 Description 编写一个把整数N分解为质因数乘积的程序. 输入描述 Inp ...

  8. Leetcode17.Letter Combinations of a Phone Number电话号码的字母组合

    给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合. 给出数字到字母的映射如下(与电话按键相同).注意 1 不对应任何字母. 示例: 输入:"23" 输出:[&quo ...

  9. javascript:void(0);用法及常见问题解析

    void 操作符用法格式: javascript:void (expression) 下面的代码创建了一个超级链接,当用户以后不会发生任何事.当用户链接时,void(0) 计算为 0,但 Javasc ...

  10. selenium(2):环境搭建完成后,初步运行遇到的问题

    检验是否搭建成功. . 问题一:运行时候,报错:请停用以开发者模式运行的扩展程序 出现错误如下: 原因:chromedriver的版本号过低了. 解决办法:应该安装与chrome版本对应的chrome ...