OAuth2.0+Cas5.3

OAuth2.0+Cas5.3

OAuth2.0是OAuth协议的延续版本,但不向前兼容OAuth 2.0(即完全废止了OAuth1.0)。 OAuth 2.0关注客户端开发者的简易性。要么通过组织在资源拥有者和HTTP服务商之间的被批准的交互动作代表用户,要么允许第三方应用代表用户获得访问的权限。同时为Web应用,桌面应用和手机APP等提供专门的认证流程。

单点登录(Single Sign On),在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。我们目前的系统存在诸多子系统,而这些子系统是分别部署在不同的服务器中

 

 

 

 

(A)用户打开客户端以后,客户端要求用户给予授权。

 

(B)用户同意给予客户端授权。

 

(C)客户端使用上一步获得的授权,向认证服务器申请令牌。

 

(D)认证服务器对客户端进行认证以后,确认无误,同意发放令牌。

 

(E)客户端使用令牌,向资源服务器申请获取资源。

 

  1. 资源服务器确认令牌无误,同意向客户端开放资源。

 

OAuth 2.0定义了四种授权方式。

密码模式

授权码模式

简化模式

客户端模式

 

授权码模式

这种模式是正宗的oauth2的授权模式

地址

http://****:8068/casoverlay/oauth2.0/authorize?response_type=code&client_id=1000011&redirect_uri=http://www.baidu.com

server.cas.com:8080/cas/oauth2.0/authorize?response_type=code&client_id=1000011&redirect_uri=http://www.baidu.com

 

 

 

 

--

 

http://****:8068/casoverlay/oauth2.0/accessToken?grant_type=authorization_code&client_id=1000011&client_secret=1000011qwer&code=OC-10-raqQRgbX2A4OIo5vcEXP0iR-2drTf7-7&redirect_uri=http://www.baidu.com

http://server.cas.com:8080/cas/oauth2.0/accessToken?grant_type=authorization_code&client_id=1000011&client_secret=1000011qwer&code=OC-1-yBL6gY4-5mdSnq1yUG0poGH4YuXm3F-s&redirect_uri=http://www.baidu.com

 

 

 

 

http://*****:8068/casoverlay/oauth2.0/profile?access_token=

http://server.cas.com:8080/cas/oauth2.0/profile?access_token=

 

 

http://***:8068/casoverlay/oauth2.0/accessToken?grant_type=refresh_token&client_id=1000011&client_secret=1000011qwer&refresh_token=

http://server.cas.com:8080/cas/oauth2.0/accessToken?grant_type=refresh_token&client_id=1000011&client_secret=1000011qwer&refresh_token=

 

 

集群-27

1、基于访问ip的hash策略,即当前用户的请求都集中定位到一台服务器中,这样单台服务器保存了用户的session登录信息, 如果宕机,则等同于单点部署,会话会丢失,会话不复制。

2、session复制共享

  tomcat自带session共享,主要是指集群环境下,多台应用服务器之间同步session,使session保持一致,对外透明。

如果其中一台服务器发生故障,根据负载均衡的原理,调度器会遍历寻找可用节点,分发请求,由于session已同步,故能保证用户的session信息不会丢失,会话复制。

此方案的不足之处:

必须在同一种中间件之间完成(如:tomcat-tomcat之间).

session复制带来的性能损失会快速增加.特别是当session中保存了较大的对象,而且对象变化较快时, 性能下降更加显著,会消耗系统性能。 这种特性使得web应用的水平扩展受到了限制。 Session内容通过广播同步给成员,会造成网络流量瓶颈,即便是内网瓶颈。

在大并发下表现并不好。

  1. redis缓存session共享

使用redis存取session信息,应用服务器接受新请求将session信息保存在redis中。

 

Server集群需要作session共享,TGT共享。

http://****:8068/casoverlay/oauth2.0/authorize?response_type=code&client_id=1000011&redirect_uri=http://www.baidu.com

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于Spring Boot、OAuth2.0和JWT Token鉴权认证开发的后台接口是一种使用现代化技术实现的身份验证和授权机制。下面是关于这种后台接口的一些说明: 首先,Spring Boot是一个基于Spring框架的快速开发框架,提供了简化的配置和自动化的特性,使开发者能够更快速高效地开发后台接口。 OAuth2.0是一种开放标准的授权协议,它允许用户授权第三方应用访问他们在资源拥有者上存储的信息,而不需要将用户名和密码提供给第三方。 JWT Token(JSON Web Token)是一种用于在网络应用间安全传递声明的一种方式。它被用作身份验证和授权的令牌,通过加密并以JSON格式存储信息,确保信息的完整性和安全性。 基于以上技术,我们可以开发出具有强大安全认证能力的后台接口。首先,用户在访问接口时,需要提供他们的身份证明,这可以是用户名和密码。接口服务器会使用OAuth2.0协议进行身份验证,并颁发JWT Token给用户。用户在未来的请求中,可以使用该Token进行身份验证,而无需每次都提供用户名和密码。 接口服务器会对JWT Token进行验证,以确保Token的完整性和有效性。如果Token失效或被伪造,访问将被拒绝。如果验证通过,接口服务器会正常处理用户的请求。 使用Spring Boot和OAuth2.0进行开发,可以方便地设置权限和角色。可以根据用户的角色和权限,限制他们对某些资源的访问。 总之,基于Spring Boot、OAuth2.0和JWT Token鉴权认证开发的后台接口提供了一种安全可靠的身份验证和授权机制,能够有效保护后台接口的安全性,防止非法访问和数据泄露。这种技术组合在开发现代化的网络应用时非常有用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值