Spring Cloud Gateway+BFF未重定向至认证服务器及Token Relay无法获取Principal问题
Spring Cloud Gateway作为BFF时的认证会话与Token Relay问题解决
问题现象
- 以配置了
oauth2Login和TokenRelay过滤器的Spring Cloud Gateway作为BFF时,访问资源服务器端点存在两个异常:- 系统未检查用户是否持有有效认证会话,即便会话已失效,也不会重定向至认证服务器,不符合预期逻辑。
- 自定义实现的Token Relay过滤器(用于检测AccessToken过期并通过Refresh Token刷新)无法获取认证Principal,持续返回
AnonymousAuthenticationToken,仿佛BFF无法识别Angular前端或Redis中存储的已认证会话。
根因与解决办法
排查后确认问题根源:主安全配置链中未单独配置http.securityContextRepository(redisSecurityContextRepository)。添加该配置后,BFF可正常从Redis中读取正确的安全上下文,上述两个问题均得到解决。
内容的提问来源于stack exchange,提问作者Sachin
相关产品推荐
相关产品推荐

