oauth2-shiro 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
oauth2-shiro 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
oauth2-shiro 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 Apache
开发语言 Java
操作系统 跨平台
软件类型 开源软件
开源组织
地区 国产
投 递 者 monkeyk7
适用人群 未知
收录时间 2015-09-26

软件简介

oauth2-shiro

整合Apache Oltu 与 Shiro. 提供一个轻量的OAUTH2应用框架.

并根据不同的应用场景提供不同的实现(如web场景,移动设备).

该项目与spring-oauth-server实现相同的需求与场合. 只是在实现上使用的技术不同(spring-oauth-server使用Spring Security + spring-security-oauth2实现; oauth2-oltu实现); 相比spring-oauth-server, oauth2-oltu具有如下特点:

  • 更加透明 -- 每一步实现都有可以查看的, 更容易理解的代码, 一目也然

  • 更多的可自定义与可扩展 -- 不管是ERROR返回信息的内容或格式, 都可根据需要自定义, 对请求参数,处理细节等可添加更多的具体实现

  • 可读性更强 -- 由于Shiro, Oltu 没有Spring Security,spring-security-oauth2 的门槛高, 所有代码都是常用的Controller或Java Bean实现各项业务, 更可读,更易于理解

  • 模块化 -- 得益于Oltu的模块化设计, 将authzserver, resourceserver分开成不同的模块, 使用时可根据实际需要将二者合并在一个项目中可拆分为不同的模块

主要技术及版本

Spring -- 3.2.2.RELEASE 
oltu -- 1.0.0 
shiro -- 1.2.3 
MySQL -- 5.6

开发环境

  • JDK -- 1.7.0_40

  • Maven -- 3.1.0

  • MySQL -- 5.6.23-log

如何使用

  1. 项目是Maven管理的, 需要本地安装maven(开发用的maven版本号为3.1.0), 还有MySql(开发用的mysql版本号为5.6)

  2. 下载(或clone)项目到本地

  3. 创建MySQL数据库(如数据库名 oauth2_shiro), 并运行相应的SQL脚本(脚本文件位于others/database目录), 
    运行脚本的顺序: oauth2-shiro.ddl -> initial-db.ddl

  4. 修改oauth2-shiro.properties(位于src/main/resources目录)中的数据库连接信息(包括username, password等)

  5. 将本地项目导入到IDE(如Intellij IDEA)中,配置Tomcat(或类似的servlet运行服务器), 并启动Tomcat(默认端口为8080); 
    注意将项目的 contextPath(根路径) 设置为 'os'. 
    另: 也可通过maven package命令将项目编译为war文件(os.war), 将war放在Tomcat中并启动(注意: 这种方式需要将 oauth2-shiro.properties 加入到classpath中并正确配置数据库连接信息).

  6. 参考oauth_test.txt(位于others目录)的内容并测试之(也可在浏览器中访问相应的地址,如: http://localhost:8080/os/).


支持的 grant_type 
说明 oauth2-shiro 项目支持的grant_type(授权方式)与功能

  1. authorization_code -- 授权码模式(即先登录获取code,再获取token)

  2. password -- 密码模式(将用户名,密码传过去,直接获取token)

  3. refresh_token -- 刷新access_token

  4. implicit(token) -- 简化模式(在redirect_uri 的Hash传递token; Auth客户端运行在浏览器中,如JS,Flash)

  5. client_credentials -- 客户端模式(无用户,用户向客户端注册,然后客户端以自己的名义向'服务端'获取资源)

博客相关: http://andaily.com/blog/?cat=86

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击引领话题📣 发布并加入讨论🔥
发表了资讯
2023/09/28 16:02

oauth2-shiro 2.0.0 版本发布,安全大升级

oauth2-shiro v2.0.0版本正式发布,在距上一次发布7年后,更新了大版本,对安全漏洞等问题进行大升级。 该版本主要更新内容: 升级使用springboot,调整工程结构,打包由war换成jar,使用thymeleaf替换servlet/jsp;spring大版本升级到5.3提升安全性。 JDK由1.7升级到1.8,日志框架使用logback替换log4j(处理掉log4j安全漏洞)。 升级shiro版本到v1.11.0,解决相应的shiro版本漏洞。 密码存储算法由MD5替换为SHA-256,并支持盐...

2
6
发表了资讯
2016/08/17 00:00

oauth2-shiro 0.2 版本发布

oauth2-shiro 0.2版本正式发布,在7月完成开发工作,但由于当时发布 http://git.oschina.net/mkk/oauth2-shiro-redis 项目竟然给忘记了. 该版本主要更新如下 更新首页UI, 参照spring-oauth-server Add client details overview Add client details testing user add/edit, overview 添加API使用说明, 举例各个场景 发布到测试服务器 resources模块更新UI说明 从0.2版本开始可在线测试,测试地址分别为: authz: https://andaily....

0
35
发表了资讯
2016/07/09 00:00

oauth2-shiro 添加 redis 实现版本

oauth2-shiro-redis Integrate oauth2-shiro with Redis 说明 该项目具有 oauth2-shiro 的所有功能, 并添加了对 Redis 的支持 从 oauth2-shiro fork 的版本: 0.1-rc 项目使用的 Redis 版本信息 spring-data-redis -> 1.5.2.RELEASE jedis -> 2.7.3 功能变化 相比 oauth2-shiro 项目,添加并支持更多的功能与配置 支持Redis连接属性更多的设置, 详见配置文件 resources.properties, authz.properties 提供对 ClientDetails 的操作...

0
50
发表了资讯
2015/10/07 00:00

oauth2-shiro 0.1-rc 发布

经过国庆期间的假期, oauth2-shiro的0.1-rc版本发布了, 相比0.1-beta版本, 更新内容如下: 1. 重构项目结构,实现模块化. 将OAUTH中的auth(authz模块)与resource(resources模块)分开成不同的子模块(或子项目). authz实现使用各类grant_type去获取token; resources实现资源管理, 通过token去访问, 另添加core模块, 将公共部分提取到该模块中,如定义ClientDetails, AccessToken 2. 提供两种方式来整合OLTU与SHIRO, 方式1: 给SHIRO添...

6
32
发表了资讯
2015/09/26 00:00

oauth2-shiro 0.1-beta 发布

经过不断地试错与研究, 整合oauth2与shiro的 oauth2-shiro项目 0.1-beta 发布. oauth2-shiro 整合Apache Oltu 与 Shiro. 提供一个轻量的OAUTH2应用框架. 并根据不同的应用场景提供不同的实现(如web场景,移动设备). 该项目与spring-oauth-server实现相同的需求与场合. 只是在实现上使用的技术不同(spring-oauth-server使用Spring Security + spring-security-oauth2实现; oauth2-oltu实现); 相比spring-oauth-server, oauth2-olt...

10
58
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
0 评论
86 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部