oauth2-shiro 0.1-beta 发布

经过不断地试错与研究, 整合oauth2与shiro的 oauth2-shiro项目 0.1-beta 发布.

oauth2-shiro

整合Apache OltuShiro. 提供一个轻量的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

 

支持的 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://git.oschina.net/mkk/oauth2-shiro

 

apache-shiro-logo oltu_head

启用/禁用各类grant_type (spring-oauth-server)

默认在spring-oauth-server项目中启用了OAUTH支持的五类grant_type(http://andaily.com/blog/?p=103),

但如果根据实际需求只需要启用或禁用某一类或某几类grant_type,其配置如下图:

disable_grant_type

在security.xml文件中修改配置即可启用/禁用某一类grant_type, 对应的添加 disabled=”true” 属性即可禁用某一类grant_type.

 

http://git.oschina.net/shengzhao/spring-oauth-server

oauth2-shiro项目开发状态(8月)

在8月,由于工作繁忙,没有进行开发.

由于有的朋友提出需要看该项目的源代码,并由其去完成修改与开发,现在已将oauth2-shiro项目开源,

访问地址:

http://git.oschina.net/mkk/oauth2-shiro

但请注意: 该项目代码并未完整开发完成; 若需要完整的实现请访问 http://git.oschina.net/shengzhao/spring-oauth-server

 

项目更新动态文章: http://andaily.com/blog/?p=312

 

我将不断开发完善该项目.也希望您的参与.