本文共 1061 字,大约阅读时间需要 3 分钟。
本项目是基于 Apache OAuth2-Shiro 项目的 fork 版本,命名为 oauth2-shiro-redis。该项目保留了 OAuth2-Shiro 所有核心功能,同时在此基础上增加了对 Redis 的支持。
本项目的源代码于 2015 年 10 月 21 日从 OAuth2-Shiro 的官方仓库中 fork 而来,经过一系列优化和功能增强,于 2015 年 10 月 27 日创建了 redis 分支,专门用于 Redis 操作。最终,该项目于 2016 年 7 月 8 日正式开源发布。
本项目在 OAuth2-Shiro 的基础上进行了多项功能改进和优化:
Redis 连接属性扩展:支持更多 Redis 连接属性的配置,详细信息可参考 resources.properties 和 authz.properties 配置文件。
客户端详情操作支持:新增对 ClientDetailsService 的操作支持,具体实现细节可参考 ClientDetailsService.java。
客户端详情序列化:对 ClientDetails 类进行了重构,使其支持序列化功能,适用于需要持久化存储的场景。
令牌过期处理:新增配置属性 remove.token.expired,支持在检测到 access_token 过期时自动删除对应的 AccessToken 数据。
数据库选择优化:根据实际需求,可以选择只使用 Redis 而不依赖 MySQL数据库,具体实现可参考 redis 分支。
代码重构优化:对 OAuth2 业务逻辑进行了重构,提升了代码结构的清晰度和可读性。
Redis 连接一致性:在项目的 authz 模块和 resources 模块中配置的 Redis 必须保持一致,否则系统将无法正常运行。
数据存储与缓存:项目目前采用 Redis 进行缓存存储,同时也支持将数据同步到 MySQL 数据库。对于仅使用 Redis 的场景,可以通过修改配置实现。
redis 分支,专注于 Redis 操作支持。如需了解更多项目细节,欢迎访问开源中国社区查看详情。
转载地址:http://zunfk.baihongyu.com/