前言

使用 OAuth2 进行第三方登陆分为好几种情况,例如完全第三方登陆,不保存任何用户信息,或者第三方登陆后保存用户信息关联本站账号。个人觉得保存一下用户信息比较妥当(虽然这样注册的时候让用户觉得很不方便,但是第二次使用就不会这么麻烦了),如果数据库中不存在该用户则重定向到注册页面,否则查找关联的本站账号,登陆。

修改回调的URL

因为要绑定本站账号,所以毁掉的 URL 应该是注册页面。在注册页面判断是否该用户已存在,是则直接登陆,否则填写注册信息。

对应的.env文件也要修改:GITHUB_REDIRECT_URI=http:http://suip.app/auth/register

数据库迁移文件

class CreateSocialUsersTable extends Migration
{public function up(){Schema::create('social_users', function (Blueprint $table) {$table->increments('id');$table->string('type');$table->integer('social_user_id')->unsigned();$table->integer('user_id')->unsigned();$table->string('nickname')->nullable();$table->string('name')->nullable();$table->string('email')->nullable();$table->string('avatar')->nullable();$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');$table->timestamps();});}public function down(){Schema::drop('social_users');}
}

这里的user_id就是本站账号的 id ,注册成功自然会将第三方的信息与本站账号关联。

第三方用户模型

class SocialUser extends Model
{protected $table = 'social_users';protected $fillable = ['type','user_id','nickname','name','email','avatar'];public function user(){return $this->belongsTo('App\User');}
}

实现第三方登陆绑定本站账号的配置就完成了。

转载于:https://www.cnblogs.com/pengzhendong/p/4850927.html

Laravel OAuth2 (二) ---配置与数据库设计相关推荐

  1. 教学管理系统的设计与实现(二)(数据库设计)

    接着上一篇学习:教学管理系统的设计与实现(一)(源码,以及毕业论文)_coder2yunying-CSDN博客 继续接下来的分享,数据管理系统的数据库设计 3.1数据库设计 3.1.1概念模型设计 ( ...

  2. 制作一个化妆品网站(二)(数据库设计)

    之前讲过项目功能和环境了(https://blog.csdn.net/weixin_38107930/article/details/83186895)现在来制作数据库 数据库主要分为4块:测试.化妆 ...

  3. 北邮 计算机学院数据库实验报告二,北邮数据库_sql实验二报告.doc

    <北邮数据库_sql实验二报告.doc>由会员分享,提供在线免费全文阅读可下载,此文档格式为doc,更多相关<北邮数据库_sql实验二报告.doc>文档请在天天文库搜索. 1. ...

  4. 超大型Oracle数据库设计实例

    超大型系统的特点为: 1.处理的用户数一般都超过百万,有的还超过千万,数据库的数据量一般超过1TB: 2.系统必须提供实时响应功能,系统需不停机运行,要求系统有很高的可用性及可扩展性. 这篇是笔者针对 ...

  5. 数据库设计的一般步骤

    经过几天给韶关某个高校进行数据库设计的实训,对数据库设计的过程有了更加深刻的理解. 一.数据库设计的步骤 (1)了解功能需求 在设计数据库之前,设计人员必须要先了解系统的功能需求.这里可以通过阅读产品 ...

  6. 仿联想商城laravel实战---1、仿联想商城需求和数据库设计(lavarel如何搭建项目)...

    仿联想商城laravel实战---1.仿联想商城需求和数据库设计(lavarel如何搭建项目) 一.总结 一句话总结: composer引入lavarel.配置域名.配置apache 1.项目名 le ...

  7. laravel mysql 锁表_Laravel 数据库加密及数据库表前缀配置方法

    报错问题:DecryptException in Encrypter.php line 148: The MAC is invalid. 如何运行 php artisan key:generate 这 ...

  8. 前后端分离微服务管理系统项目实战SaaS-HRM项目(二)——数据库设计与前端框架

    文章目录 二.数据库设计与前端框架 1.多租户SaaS平台的数据库方案 <1>.多租户概述 <2>.需求分析 <3>.多租户的数据库方案分析 (1).独立数据库 ( ...

  9. 三十二、数据库设计的三范式【完】

    数据库设计的三范式 第一范式 数据库表中不能出现重复记录,每个字段是原子性的不能再分 不符合第一范式的示例 学生编号 学生姓名 联系方式 1001 张三 zs@gmail.com,1359999999 ...

最新文章

  1. interface declaration, parcelable declaration, AidlTokenType.import or AidlTokenType.package ...
  2. 思科cisco路由器动态路由协议配置方法
  3. 51nod 1275 连续子段的差异(twopointer+单调队列)
  4. python︱ collections模块(namedtuple/defaultdict/OrderedDict等)
  5. Java 基础(十九)代理
  6. #WPF#Dirkster.AvalonDock教程
  7. String的内置方法、字符号拼接、创建字典、制作购物车、元组
  8. oracle磁带库清洁带标签,分享那些在磁带库上爬过的坑
  9. excel怎么打钩(excel怎么打钩符号)
  10. Lisp-Stat翻译 —— 第十章 一些动态绘图实例
  11. 巴斯大学计算机科学研究生,巴斯大学计算机科学.pdf
  12. 17岁韩寒在CCTV《对话》舌战群吊的视频
  13. html css字体特效,40款CSS+JS文字动画特效html源码
  14. windows7局域网网络共享文件夹和打印机的问题分析及解决
  15. 如何查询mysql的url_如何查看数据库的url
  16. CVE-2014-0160:心脏出血(心血)漏洞
  17. 最新抖音取图小程序源码-支持达人入驻和多端发布
  18. 解决应用程序无法正常启动(0xc000007b)。请单击“确定”关闭应用程序。
  19. java特种兵 怎么样_第1篇 Java功底篇免费阅读_Java特种兵(上册)免费全文_百度阅读...
  20. app自动化测试appium教程之三——appium基础命令(python)

热门文章

  1. linux下磁盘测速,linux下磁盘测速工具
  2. java开发微信公众号:微信公众号对接
  3. Java实现窗口框架,转换金额的大小写
  4. RISC-V E300 SOC架构介绍——1.总体介绍
  5. 离开外包之后,花了10000小时,最后我走进字节跳动拿到了offer
  6. 停止及启动k8s服务
  7. linux配置yum源的三种方法:
  8. 小红书SEO之关键词排名优化详解【从入门到精通】
  9. 我了解到的新知识之----遇到路由器DNS被篡改我该怎么办?
  10. Fractal Streets||分形之城