oltu 实现oauth协议

oltu 简介:

Apache Oltu是OAuth协议的Java语言实现。它也包含其他oauth 的协议如JWT JWS OpenID ,是apache 基金会提供的开源项目 官网:http://oltu.apache.org/

oltu 结构:

authzserver(授权服务器依赖)和resourceserver(资源服务器依赖) 和common (公共使用类) 不同的请求对象将按照不同的参数进行校验,请求对象在初始化时进行最基本的(如方法,内容类型,参数等)校验(validate() 方法实现).

authzserver

主要提供对client_id 和redirect_uri 及code 等的鉴权或refresh_token 或用户名密码的校验 如果要实现如client_id 是否合法,client_secret 是否正确的校验还需要自己封装实现. 以请求参数的形式或以request头的形式传递response_type,grand_type,client_id等参数

OAuthAuthzRequest: 根据response_type 参数也设置校验类型
    code/token CodeValidator/TokenValidator 可以实现code 和token的两种校验方式
    code: client_id进行校验
    token:client_id 及redirect_uri进行校验
 
    所以我们需要通过client_id 请求code 的时候可以用OAuthAuthzRequest 来声明我们的请求对象
 
OAuthTokenRequest  : 根据grand_type参数设置其校验类型
    所有支持的的授权类型(grand_type):
   AUTHORIZATION_CODE("authorization_code"),
    IMPLICIT("implicit"),
    PASSWORD("password"),
    REFRESH_TOKEN("refresh_token"),
    CLIENT_CREDENTIALS("client_credentials"),
    JWT_BEARER("urn:ietf:params:oauth:grant-type:jwt-bearer");
 
    OAuthTokenRequest 支持的授权类型有:
    PASSWORD("password"), 对用户名密码进行校验
    REFRESH_TOKEN("refresh_token"), 刷新token 校验
    CLIENT_CREDENTIALS("client_credentials"), 客户端证书校验
    AUTHORIZATION_CODE("authorization_code"), 鉴权code校验
 
    所以我们需要通过code 请求 accesstoken 的时候可以用OAuthTokenRequest来声明我们的请求对象
 
 OAuthASResponse :封装鉴权返回对象
 

resourceserver

主要提供对accesstoken 或oauth_token的鉴权
如果需要进行accesstoken 的正确性校验,则需要自己封装实现
 

OAuthAccessResourceRequest: 实现对accesstoken 的校验,

ResourceServer /BearerResourceServer 资源公共管理类 设置提取类及校验类
OAuthValidator 公共校验接口
TokenExtractor token提取接口,多种方式进行提取,如从request头中,request参数中,和request参数的解析中
 
OAuthRSResponse 封装资源返回对象 OAuthResponseBuilder 封装信息
 

common

提供公共方法实现
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值