架构师项目

SSO单点登陆

2019-11-26  本文已影响0人  OPice

最近项目做一个统一portal,各个应用模块统一入口,人员账号统一。
单点登陆时序图


应用A 应用B

在日常调试过程中遇到的跨域问题:
1、项目中支持跨域请求

当发生跨域请求时,浏览器会发起两次请求,第一次为预检请求,其请求方法为OPTIONS,第二次为真实请求。只有当第一次请求成功后才会发起第二次请求。这个时间间隔是上面例子中配置的maxAge(long)。

所以在拦截器或者过滤器对token进行验证的时候处理,OPTIONS的请求是不会带有认证信息,所以需要跳过OPTIONS请求。

String method = request.getMethod();
if(method.equals("OPTIONS")){
  // 放行
} else {
  // 验证token
}

2、请求之间Cookie传递

结合Nginx和本地hosts大多数单点登陆的场景都能覆盖测试

上一篇下一篇

猜你喜欢

热点阅读