首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SSO单点登陆

SSO单点登陆

作者头像
OPice
发布2019-11-26 13:58:35
9750
发布2019-11-26 13:58:35
举报
文章被收录于专栏:D·技术专栏D·技术专栏

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

应用A

应用B

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

  • 使用@CrossOrigin注解 @CrossOrigin(origins = {"http://domain1.com", "http://domain2.com"})

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

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

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

2、请求之间Cookie传递

  • 不同域名之间Cookie不能传递
  • 域名和ip之间Cookie不能传递
  • 同一IP,不同端口Cookie是共享的
  • 二级域名与二级域名之间Cookie传递,需要将Cookie域设置在顶级域名下

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档