OAuth2.0 学习(二) Server 设计

本文探讨OAuth2.0服务器端的设计,包括数据存储方案和接口页面。核心信息存储在数据库,如APP信息、授权关系和访问令牌,而临时数据存储在缓存。服务器需提供获取授权码和Access Token的接口,以及登录、授权页面。用户授权后,服务器返回Access Token供客户端访问受保护资源。
摘要由CSDN通过智能技术生成

服务器端的数据存储方案


OAuth2.0 机制的核心工作流程,大部分信息,如APP 信息、用户和APP 之间的授权关系、Access Token等,需要永久性存储,存储在数据库中。一些不需要永久存储的信息,如临时授权码,只使用一次,而且,在很短的时间内就要使其失效,就没有必要存储在数据库之中,可存储在譬如memcached 等缓存系统中,即提高了系统的处理速度,又减少数据库压力。数据库表结构设计:客户端要先注册一个应用,获取该应用的APPID和APPSECRET,应用的详细信息存储在数据表中,如下所示:

表1 appinfo APP 信息存储表
字段 备注
appid client_id
appsecret client_secret
appname 应用名称
appowner 应用的所有者
owneremail 应用拥有者的email
appdescribe 应用描述
status 应用是否通过审核
callbackurl 跳回的url
addtime 添加时间

表2 authorize 授权关系存储表
客户端与资源拥有者是“多对多”的关系,如下表

字段 备注
appid 应用ID
userid 用户ID
addtime 添加时间

表3 access_token 访问令牌存储表
字段 备注
access_token 访问令牌
addtime 添加时间


评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值