第三方登录
1.数据表
1.1用户表 users
字段 | 类型 | 空 | 默认 | 链接到 | 注释 |
---|---|---|---|---|---|
id (主键) | bigint(20) | 否 | |||
user_login | varchar(60) | 否 | 用户名 | ||
user_pass | varchar(64) | 否 | 登录密码;sp_password加密 | ||
user_nicename | varchar(50) | 否 | 用户美名 | ||
user_email | varchar(100) | 否 | 登录邮箱 | ||
user_url | varchar(100) | 否 | 用户个人网站 | ||
avatar | varchar(255) | 是 | NULL | 用户头像,相对于upload/avatar目录 | |
sex | smallint(1) | 是 | 0 | 性别;0:保密,1:男;2:女 | |
birthday | date | 是 | NULL | 生日 | |
signature | varchar(255) | 是 | NULL | 个性签名 | |
last_login_ip | varchar(16) | 否 | 最后登录ip | ||
last_login_time | datetime | 否 | 0000-00-00 00:00:00 | 最后登录时间 | |
create_time | datetime | 否 | 0000-00-00 00:00:00 | 注册时间 | |
user_activation_key | varchar(60) | 否 | 激活码 | ||
user_status | int(11) | 否 | 1 | 用户状态 0:禁用; 1:正常 ;2:未验证 | |
score | int(11) | 否 | 0 | 用户积分 | |
user_type | smallint(1) | 是 | 1 | 用户类型,1:admin ;2:会员 |
2.2用户认证表 oauth_user
字段 | 类型 | 空 | 默认 | 链接到 | 注释 |
---|---|---|---|---|---|
id (主键) | int(20) | 否 | |||
from | varchar(20) | 否 | 用户来源key | ||
name | varchar(30) | 否 | 第三方昵称 | ||
head_img | varchar(200) | 否 | 头像 | ||
uid | int(20) | 否 | 关联的本站用户id | ||
create_time | datetime | 否 | 绑定时间 | ||
last_login_time | datetime | 否 | 最后登录时间 | ||
last_login_ip | varchar(16) | 否 | 最后登录ip | ||
login_times | int(6) | 否 | 登录次数 | ||
status | tinyint(2) | 否 | |||
access_token | varchar(60) | 否 | |||
expires_date | int(12) | 否 | access_token过期时间 | ||
openid | varchar(40) | 否 | 第三方用户id |
2.业务流程
用户跳到授权页面
回调服务器参数(code)
带code请求获取access_token
带access_token请求用户接口获取用户信息(头像,昵称,openid)
检查是否存在该平台openid
入库 用户,认证用户