0

Ich bekomme keine Fehler und bin in der Lage, den authToken Wert von meiner Login-Komponente mit einem gültigen Token (die ich mit Postman verifiziert habe). Aber ich bekomme keinen Autorisierungsparameter zu meinem Anfrage-Header hinzugefügt.Angular HTTP Interceptor nicht setzen Header

entryComponents: [ 
    ConfirmDialogTargetComponent 
    ], 
    providers: [ 
    AuthInterceptor, 
    { 
     provide: HTTP_INTERCEPTORS, 
     useClass: AuthInterceptor, 
     multi: true  
    } 
    ], 
    bootstrap: [AppComponent] 
}) 
export class AppModule { } 

import { Injectable }            from '@angular/core'; 
import { HttpEvent, HttpInterceptor, HttpHandler, HttpRequest }  from '@angular/common/http'; 
import { Observable }            from 'rxjs/Observable'; 

@Injectable() 
export class AuthInterceptor { 

    authToken: string = ''; 

    intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> { 

     const authReq = req.clone({ headers: req.headers.set('Authorization', 'Bearer ' + this.authToken) }); 
     return next.handle(authReq); 
    } 
} 
+0

haben Sie debuggen versucht und einen Haltepunkt in der Schnittverfahren eingestellt? Verwenden Sie das HttpClientModule und nicht HttpModule? –

+0

Ich benutze HttpModule - ist das korrekt? –

+0

von app.module Import {HttpModule} von '@ angular/http'; Importieren Sie {HTTP_INTERCEPTORS} von '@ angular/common/http'; –

Antwort

0

die erste AuthInterceptor entfernen:

entryComponents: [ 
    ConfirmDialogTargetComponent 
    ], 
    providers: [ 
    { 
     provide: HTTP_INTERCEPTORS, 
     useClass: AuthInterceptor, 
     multi: true  
    } 
    ], 
    bootstrap: [AppComponent] 
}) 
export class AppModule { } 
+0

, leider habe ich das ausprobiert und es hilft nicht. Es ist da, weil die Login-Komponente es importiert, so dass es den AuthToken-Wert innerhalb des AuthInterceptor-Diensts festlegen kann. Wenn ich die erste Instanz von AuthInterceptor im Provider-Array lösche, dann treten Fehler in der Login-Komponente auf. –

Verwandte Themen