首页 > 解决方案 > 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 。是不是因为设置位置标题不确定

标签: amazon-web-servicesopenid-connectaws-load-balancer

解决方案


您的会话由您的后端服务处理,而 ALB 不知道也无法访问它。因此,您还应该在代码中处理会话过期。


推荐阅读