Angular Keycloak:窗口未定义

问题描述 投票:0回答:1

你好,我在 Angular 和 Keycloak 方面遇到了一些问题,因为这个函数中的

window.location.origin
,但在我遵循的教程中,他确实这样做了,而且它有效,请你帮我解决它! 错误是窗口未定义



function initializeKeycloak(keycloak: KeycloakService) {
  return () =>
    keycloak.init({
      config: {
        url: 'http://localhost:8080',
        realm: 'zetta',
        clientId: 'zetta-client'
      },
      initOptions: {
        onLoad: 'check-sso',
        silentCheckSsoRedirectUri:
//the problem is here
          window.location.origin + '/assets/silent-check-sso.html'
      }
    });
}

@NgModule({
  declarations: [
    AppComponent,
    SidebarComponent,
    FormationsComponent,
   



  ],
  imports: [
    BrowserModule,
    BrowserAnimationsModule,
    AppRoutingModule,
    HttpClientModule,
    ReactiveFormsModule,
    FormsModule,
    RouterModule,
    KeycloakAngularModule


  ],
  providers: [
    provideClientHydration(),
    {
      provide: APP_INITIALIZER,
      useFactory: initializeKeycloak,
      multi: true,
      deps: [KeycloakService]
    }
  ],
  bootstrap: [AppComponent]
})
export class AppModule { }

这是app.module.ts

angular keycloak
1个回答
0
投票

我不确定您的问题,请显示您收到的确切错误,但您可以使用

(window as any).location.origin
或 ts 文件顶部的
declare var window;
来解决它

© www.soinside.com 2019 - 2024. All rights reserved.