Как реализовать один экземпляр httpinterceptors в нескольких приложениях с помощью single-spa.js

Я использую библиотеку single-spa.js для создания нескольких приложений angular в одной системе. Прямо сейчас я использую httpInterceptor для каждого приложения с таким кодом в app.module каждого приложения.

  @NgModule({
   declarations: [
     // etc..

   ],
   imports: [
      BrowserModule,
      HttpClientModule,
      StoreModule.forRoot(reducers, {
         metaReducers,
      }),
      !environment.production ? StoreDevtoolsModule.instrument() : [],
      // etc...
   ],
   bootstrap: [
      AppComponent
   ],
   providers: [httpInterceptorProviders, DataService, FuseSplashScreenService, WindowRefService,
      AuthGuardService,
      AppInitService]
})
export class AppModule {

}

Перехватчики работают правильно, как и ожидалось, но наличие нескольких перехватчиков вызывает проблемы с безопасностью потоков на них и вызывает перемешивание токена между запросами (перехватчик из 1 приложения использовал токен из localstorage и отправил запрос на сервер, когда перехватчик из приложение 2 использовало тот же токен до того, как ответ для первого приложения обновил токен в localstorage.) .. что привело к ответу сервера "недопустимый токен" на запрос app 2.

мой вопрос: есть ли способ использовать один http-перехватчик для нескольких приложений в моем проекте?

0 ответов

Другие вопросы по тегам