【发布时间】: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”。我究竟做错了什么?在这种情况下,我希望仍能登录。
【问题讨论】:
标签: angular keycloak keycloak-angular