угловая стратегия xsrf в angular 4 для использования httpclient HttpClientXsrfModule в angular 5 - PullRequest
0 голосов
/ 17 ноября 2018

Я пытаюсь перейти с angular 4 на angular 5 и заменил http на httpclient и ранее использовал xsrfstrategy, в то время как с angular 4.Однако я не могу понять, что нужно использовать в этом месте для угловых 5. ## Теперь можно было бы внедрить службу в угловых 5, зная, что XSRFstrategy устарела в угловых 4

Angular 4 HeaderXSRF-стратегии.service.ts

 import { Request, XSRFStrategy } from '@angular/http';

  import { LocalStorageWrapperModule } from '../../shared/services/local-storage-module.service';

export class HeaderXSRFStrategy implements XSRFStrategy {

storage: LocalStorageWrapperModule = new LocalStorageWrapperModule();
constructor(private cookieName: string, private headerName: string) {
}

configureRequest(req: Request): void {
    let token = this.storage.getSession(this.cookieName);
    if (token) {
        req.headers.append(this.headerName, token);
    }
}

}

Использование:

  import { NgModule, ModuleWithProviders } from '@angular/core';

 import { XSRFStrategy } from '@angular/http';
 import { HttpClientModule } from '@angular/common/http';
 import { APP_BASE_HREF } from '@angular/common';
 import { Router, RouterModule } from '@angular/router';
 import { LoginModule } from '../login/login.module';
 import { HomeComponent } from '../home/home.component';
 import { RestModuleService } from '../core/core.module';
 import { HeaderXSRFStrategy } from '../shared/services/header-XSRF-strategy.service';
import { LocalStorageWrapperModule } from '../core/core.module';

import { AuthService } from '../login/auth.service';

 import { HOME_ROUTING, LeoCustomPreloader } from './home.routing';

 import { FormsModule } from '@angular/forms';

@NgModule({
declarations: [
    HomeComponent
],
imports: [
    RouterModule,
    HOME_ROUTING,
    CommonModule,
    HttpClientModule,
    FormsModule
],
providers: [
    AuthService,
    RestModuleService,
    LocalesService,
    LocalStorageWrapperModule,
    { provide: LOCALE_ID, useValue: LOCALE },
    { provide: XSRFStrategy, useFactory: xsrfHeaderStrategy },
    Location
],
   bootstrap: [HomeComponent]
 })
  export class HomeModule {
    constructor(
    private authService: AuthService,
    private router: Router
    ) 
    {

    // Retrieve  userPrivStr from session storage for loggedin user

        // Already logged in, so go to the default target
        router.navigate([authService.getTargetURL()]);
      }
  }
 }


 export function xsrfHeaderStrategy() {
   return new HeaderXSRFStrategy(CSRF_NAME, CSRF_NAME);
  }

Я видел HttpClientXsrfModule для angular 5, как его использовать, чтобы внедрить сервис, который мы пишем как iиметь в случае метода configureRequest () выше

...