keycloak-angular:页面重新加载后 isLoggedIn() 始终为 false

Posted

技术标签:

【中文标题】keycloak-angular:页面重新加载后 isLoggedIn() 始终为 false【英文标题】:keycloak-angular: isLoggedIn() always false after page reload 【发布时间】:2022-01-03 16:09:43 【问题描述】:

我正在尝试使用 Angular 作为前端来保护 Spring Boot 应用程序。 因此我使用 keycloak-angular 和 keycloak-js。

在您可以找到的每个示例中,始终假定所有路由都应该是安全的。 我现在有一些可以公开访问的路线:


    path: 'dashboard',
    component: DashboardComponent,
    resolve: 
      data: LayoutResolver
    
,

    path: 'add-news',
    component: AddNewsComponent,
    canActivate: [AdminAuthGuard]
,

我的 APP_INITIALIZER 如下所示:

function initializeKeycloak(keycloak: KeycloakService) 
  return () =>
    keycloak.init(
      config: 
        url: environment.keycloakUrl,
        realm: environment.keycloakRealm,
        clientId: environment.keycloakClientId,

      ,
      initOptions: 
        onLoad: 'check-sso',
        silentCheckSsoRedirectUri:
          window.location.origin + '/assets/silent-check-sso.html',
      
    );

一切正常。 但是,当我在仪表板上重新加载页面时,我似乎失去了身份验证。 keycloakService.isLoggedIn 始终返回“false”。我究竟做错了什么?在这种情况下,我希望仍能登录。

【问题讨论】:

【参考方案1】:

我重新安装了 keycloak 服务器,一切正常。我一定是在重命名领域和客户端时破坏了它。

【讨论】:

以上是关于keycloak-angular:页面重新加载后 isLoggedIn() 始终为 false的主要内容,如果未能解决你的问题,请参考以下文章

显示消息后重新加载页面,jQuery

重新加载页面复选框后不应重置

重新加载页面后重新使用 UCWA 应用程序

ajax成功后重新加载页面

提交表单后如何使用模态重新加载页面

在Streamlit中使用Python选择任何小部件后如何停止重新加载页面