Keycloak - как отключить совместный сеанс между двумя (угловыми) клиентскими приложениями? - PullRequest
0 голосов
/ 04 ноября 2019

У меня есть два угловых клиентских приложения, которые используют угловой клиент Keycloak для аутентификации. Проблема в том, что когда я захожу на один из них, я автоматически захожу на другой. У меня есть отдельный клиент для каждого, хотя.

Инициализация службы Keycloak выглядит в обоих приложениях следующим образом:

@NgModule({
  declarations: [AppComponent],
  imports: [
    AppRoutingModule,
    BrowserModule,
    KeycloakAngularModule
  ],
  providers: [KeycloakService],
  entryComponents: [AppComponent]
})
export class AppModule implements DoBootstrap {
  constructor(private keycloakService: KeycloakService) {
  }

  ngDoBootstrap(app: ApplicationRef) {
    this.keycloakService
      .init({config: environment.keycloak, initOptions: {onLoad: 'login-required'}})
      .then(() => app.bootstrap(AppComponent));
  }
}

Конфигурация Keycloak для первого приложения:

const keycloakConfig: KeycloakConfig = {
  realm: 'quick',
  url: 'http://localhost:8000/auth',
  clientId: 'quick-ui-customer'
};


export const environment = {
  production: false,
  keycloak: keycloakConfig,
};

И для второго:

const keycloakConfig: KeycloakConfig = {
  realm: 'quick',
  url: 'http://localhost:8000/auth',
  clientId: 'quick-ui-employee'
};


export const environment = {
  production: false,
  keycloak: keycloakConfig,
};

1 Ответ

2 голосов
/ 04 ноября 2019

Это основная особенность протокола Single Sign On. Но если вы не хотите делиться сессией, создайте клиентов в разных сферах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...