amazon-web-services - AWS 负载均衡器中的会话到期
问题描述
我正在使用 AWS ALB 进行 OIDC 身份验证,一旦通过身份验证,它就会登陆我的后端应用程序,在我创建会话的地方将其保存在 redis 中并将会话 cookie 返回到前端。
前端使用 cookie 与我的后端通信。
如果会话过期,则在 10 分钟后。然后我想重定向页面登录页面。
我的问题是我应该在我的代码中处理会话过期,还是 AWS ALB 有一些智能知道我的会话已过期并重定向到逻辑页面。
如果我必须从我的代码中显式重定向。我是否需要将位置标头和状态代码获取为 302,如下所示。
/login 是 ALB 中的侦听器,它将向 OIDC 进行身份验证
response.getHeaders().setLocation(URI.create("/login"));
response.setStatusCode(HttpStatus.FOUND);
但是,当我重定向到 /login。这是在 ALB 中配置的路径路由,用于通过 OIDC 进行身份验证。我从 Oauth provider 得到 404 0r 400 not found 。是不是因为设置位置标题不确定
解决方案
您的会话由您的后端服务处理,而 ALB 不知道也无法访问它。因此,您还应该在代码中处理会话过期。
推荐阅读
- swiftui - 如何观察绑定值SwiftUI的更新
- python - 为什么 Spyder 在 Anaconda 中打开时 CMD 正在运行?
- node.js - 在nodejs项目VSCode中禁用DOM库类型定义
- javascript - 制表符表中的多选下拉菜单
- sql - 编写 SQL 代码以选择所有工资大于部门平均工资且大于 $30K 的员工
- python - 是否有任何 API 可以直接向 Instagram 发送消息
- java - 请求上下文包含较旧的授权令牌
- react-native - 当我在我的电脑上安装 expo 时,它显示错误
- ruby-on-rails - ActiveSupport::Notifications 应该与 ActiveJobs 一起使用吗?
- javascript - 如何读取赛普拉斯生成的动态文件?