You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular15+Keycloak20.0.5页面刷新后跳转至登录页问题求助

问题:页面刷新/新标签打开时被重定向到Keycloak登录页

环境与配置

  • 技术栈:Angular 15 + Spring Boot,Keycloak 20.0.5作为IAM解决方案
  • 部署方式:前端应用、Keycloak及Spring Boot微服务均部署在EKS集群,前端与Keycloak分属不同集群
  • 前端Kubernetes服务名:main-frontend-service
  • 应用访问URL:http://a************.amazonaws.com/main-frontend
  • Keycloak访问URL:http://b************.amazonaws.com/keycloak-service
  • Keycloak已创建公开客户端:web-application

问题详情

用户在刷新页面、复制页面链接到新标签页打开时,会被强制重定向至Keycloak登录页。本地运行该应用时无此问题。

相关配置代码

前端Keycloak初始化代码

import {KeycloakService} from "keycloak-angular";
import {environment} from "../../environments/environment";

export function initializeKeycloak(keycloak: KeycloakService) {
  return () => keycloak.init({
    config: {
      url: `${environment.keycloakConfig.url}`,
      realm: `${environment.keycloakConfig.realm}`,
      clientId: `${environment.keycloakConfig.clientId}`,
    },
    initOptions: {
      // checkLoginIframe: true,
      // checkLoginIframeInterval: 300,
      onLoad: 'login-required',
      // silentCheckSsoRedirectUri:
      //   window.location.origin + '/assets/silent-check-sso.html'
    },
  });
}

Keycloak客户端配置

  • Root URL:http://a************.amazonaws.com/main-frontend
  • Redirect URL:/main-frontend

Kubernetes Nginx路由配置

paths:
- backend:
    service:
      name: main-frontend-service
      port:
        number: 80
  path: /(/|$)(.*)
  pathType: Prefix
- backend:
    service:
      name: main-frontend-service
      port:
        number: 80
  path: /main-frontend(/|$)(.*)
  pathType: Prefix

补充架构说明

所有后端API请求均通过集成Spring Security与Keycloak的spring-gateway-service调用,示例API地址:http:a*********.amazonaws.com/gateway-service/service-a/api/

内容的提问来源于stack exchange,提问作者iuhettiarachchi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 00:33:14