Laravel OAuth2 (二) ---配置与数据库设计
前言
使用 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 (二) ---配置与数据库设计相关推荐
- 教学管理系统的设计与实现(二)(数据库设计)
接着上一篇学习:教学管理系统的设计与实现(一)(源码,以及毕业论文)_coder2yunying-CSDN博客 继续接下来的分享,数据管理系统的数据库设计 3.1数据库设计 3.1.1概念模型设计 ( ...
- 制作一个化妆品网站(二)(数据库设计)
之前讲过项目功能和环境了(https://blog.csdn.net/weixin_38107930/article/details/83186895)现在来制作数据库 数据库主要分为4块:测试.化妆 ...
- 北邮 计算机学院数据库实验报告二,北邮数据库_sql实验二报告.doc
<北邮数据库_sql实验二报告.doc>由会员分享,提供在线免费全文阅读可下载,此文档格式为doc,更多相关<北邮数据库_sql实验二报告.doc>文档请在天天文库搜索. 1. ...
- 超大型Oracle数据库设计实例
超大型系统的特点为: 1.处理的用户数一般都超过百万,有的还超过千万,数据库的数据量一般超过1TB: 2.系统必须提供实时响应功能,系统需不停机运行,要求系统有很高的可用性及可扩展性. 这篇是笔者针对 ...
- 数据库设计的一般步骤
经过几天给韶关某个高校进行数据库设计的实训,对数据库设计的过程有了更加深刻的理解. 一.数据库设计的步骤 (1)了解功能需求 在设计数据库之前,设计人员必须要先了解系统的功能需求.这里可以通过阅读产品 ...
- 仿联想商城laravel实战---1、仿联想商城需求和数据库设计(lavarel如何搭建项目)...
仿联想商城laravel实战---1.仿联想商城需求和数据库设计(lavarel如何搭建项目) 一.总结 一句话总结: composer引入lavarel.配置域名.配置apache 1.项目名 le ...
- laravel mysql 锁表_Laravel 数据库加密及数据库表前缀配置方法
报错问题:DecryptException in Encrypter.php line 148: The MAC is invalid. 如何运行 php artisan key:generate 这 ...
- 前后端分离微服务管理系统项目实战SaaS-HRM项目(二)——数据库设计与前端框架
文章目录 二.数据库设计与前端框架 1.多租户SaaS平台的数据库方案 <1>.多租户概述 <2>.需求分析 <3>.多租户的数据库方案分析 (1).独立数据库 ( ...
- 三十二、数据库设计的三范式【完】
数据库设计的三范式 第一范式 数据库表中不能出现重复记录,每个字段是原子性的不能再分 不符合第一范式的示例 学生编号 学生姓名 联系方式 1001 张三 zs@gmail.com,1359999999 ...
最新文章
- interface declaration, parcelable declaration, AidlTokenType.import or AidlTokenType.package ...
- 思科cisco路由器动态路由协议配置方法
- 51nod 1275 连续子段的差异(twopointer+单调队列)
- python︱ collections模块(namedtuple/defaultdict/OrderedDict等)
- Java 基础(十九)代理
- #WPF#Dirkster.AvalonDock教程
- String的内置方法、字符号拼接、创建字典、制作购物车、元组
- oracle磁带库清洁带标签,分享那些在磁带库上爬过的坑
- excel怎么打钩(excel怎么打钩符号)
- Lisp-Stat翻译 —— 第十章 一些动态绘图实例
- 巴斯大学计算机科学研究生,巴斯大学计算机科学.pdf
- 17岁韩寒在CCTV《对话》舌战群吊的视频
- html css字体特效,40款CSS+JS文字动画特效html源码
- windows7局域网网络共享文件夹和打印机的问题分析及解决
- 如何查询mysql的url_如何查看数据库的url
- CVE-2014-0160:心脏出血(心血)漏洞
- 最新抖音取图小程序源码-支持达人入驻和多端发布
- 解决应用程序无法正常启动(0xc000007b)。请单击“确定”关闭应用程序。
- java特种兵 怎么样_第1篇 Java功底篇免费阅读_Java特种兵(上册)免费全文_百度阅读...
- app自动化测试appium教程之三——appium基础命令(python)