Spring Cloud微服务安全实战_5-8_基于Cookie的SSO
摘要:前几篇说的都是基于session的SSO(客户端应用的session、认证服务器的session),客户端应用拿到认证服务器返回的token后,将其存在自己的session, 用户登录状态是存在服务器端的。 本篇要说的是,要实现一个基于浏览器cookie的SSO,客户端应用获取到令牌后,不是将其存到
阅读全文
Spring Cloud微服务安全实战_6-1_微服务之间的通讯安全之概述
摘要:到目前为止已经实现了一个基于微服务的,前后端分离(这里我用的jquery做的,并不是真的前后端分离,因为我不会vue和angular所以没用)的架构。在网关上做了限流、认证、审计、授权等安全机制,在前端应用上也做了SSO单点登录, 现在的架构存在的问题是: 1,在网关做限流。 在网关上做限流是有问题
阅读全文
Spring Cloud微服务安全实战_5-7_基于session的SSO优缺点以及适用场景
摘要:到目前为止已经实现了一个基于session的SSO 优点: 1,安全 。所有的token的信息都是放在session里(客户端应用session、认证服务器session),在浏览器里只有一个jsessionId,在浏览器这边只要做好session固定攻击的防护,一般是不会有什么风险的。 2,可控性
阅读全文
Spring Cloud微服务安全实战_5-6_refresh token失效处理
摘要:access_token是客户端调用其他微服务调的凭证,access_token有效期不能太长(丢了风险很大),一般可以设置2小时,如果access_token失效了,就不能调用微服务了,上节说了access_token失效的处理 refresh_token来刷新令牌,refresh_token可以
阅读全文
Spring Cloud微服务安全实战_5-5_refresh_token
摘要:本篇解决一个问题,token有效期 token是一个短活的东西,session可能是3天,但是token可能就2个小时,此时就会出现一种情况,session还有效但是token失效了,此时再拿着这个token去调用其他微服务就会失败了。 这就涉及到了OAuth2协议中的Refresh token,刷
阅读全文
Spring Cloud微服务安全实战_5-4_认证服务器使用spring session
摘要:这一节介绍,在认证服务器上使用spring session。 由于认证服务器肯定要是一个高可用状态,所以一定是一个集群,这就需要做session共享,最简单的实现就是使用spring session。 Spring Session官方文档 :https://docs.spring.io/spring
阅读全文
Spring Cloud微服务安全实战_5-3_基于session的SSO
摘要:上一篇将OAuth2授权模式的password模式改造成了授权码模式,并初步实现了一个前后端分离架构下基于session的微服务的SSO。用户在客户端点击登录,会跳转到认证服务器的登录页面进行登录,登录成功后,认证服务器回调到客户端应用的callback方法,并携带了授权码,客户端拿着授权码去认证服
阅读全文
Spring Cloud微服务安全实战_5-2_实现授权码认证流程&实现SSO初步
摘要:目前的架构 到目前为止,已经实现了在前后端分离的架构,微服务的环境下,一个完整的业务逻辑,包括用户的登录,获取令牌,拿着令牌调服务,退出。(流程如下) 目前的架构是基于oauth2的password模式的,是存在一些问题的: 1,用户输入用户名密码,是提交给了前端服务器的,前端服务器的开发人员,都会
阅读全文
Spring Cloud微服务安全实战_5-1_单点登录基本架构
摘要:下面是常见的前后端分离的架构,准确的说,这是一种半分离的架构,这种架构存在一些问题: 1,SEO,搜索引擎只能识别静态的HTML资源,爬HTML的DOM树,它是没法识别js动态渲染出来的内容的,所以如果是这种架构,SEO会有问题 2,页面渲染是在浏览器完成的,如果业务复杂,要数据量大,可能会对浏览器
阅读全文
Linux启动Spring boot项目命令
摘要:#不指定日志文件nohup java -jar csd-admin.jar --spring.profiles.active=prod & #指定日志文件nohup java -jar /projects/farinfo-csd/csd-api/csd-api.jar --spring.profil
阅读全文
Spring Cloud微服务安全实战_4-10_用spring-cloud-zuul-ratelimit做限流
摘要:本篇讲网关上的限流 用开源项目spring-cloud-zuul-ratelimit 做网关上的限流 (项目github:https://github.com/marcosbarbero/ ) 1,在网关项目里,引入限流组件的maven依赖: 2,在网关项目yml配置里,配限流相关配置 github
阅读全文