2017-07-23 3 views
1

Ich versuche, meine SPA-Anwendung mit Auth0 und JWT zu sichern. Wenn ich http.get mit "normalem" Http von @ angular/http tue, funktioniert es gut, aber wenn ich völlig denselben Aufruf mit AuthHttp mache, passiert einfach nichts und keine Fehler. Das ist mein Service:Auth0 Angular 2. Fehler bei der Verwendung von AuthHttp

constructor(private authHttp: AuthHttp) { 

    } 

    loadItems(): Observable<FrontItemDto[]> { 
    return this.authHttp.get (`${ServiceSettings.ApiUrl}/front`) 
     .map (res => { 
     res.json(); 
     }) 
     .catch ((error: any) => Observable.throw (error.json().error || 'Server error')); 
    } 

Dies ist app.module

import { AuthHttp, AuthConfig } from 'angular2-jwt'; 
    ... 
    export function authHttpServiceFactory(http: Http, options: RequestOptions) { 
     return new AuthHttp(new AuthConfig({ 
     tokenName: 'token', 
     tokenGetter: (() => sessionStorage.getItem('token')), 
     globalHeaders: [{'Content-Type': 'application/json'}], 
     }), http, options); 
    } 
.... 
providers: [ 
    ... 
    AuthService, 
    { 
     provide: AuthHttp, 
     useFactory: authHttpServiceFactory, 
     deps: [Http, RequestOptions] 
    } 
    ], 
+0

Was passiert, wenn Sie 'noJwtError' im' AuthConfig' Objekt auf 'true' setzen? Entspricht es dann einer regulären HTTP-Anfrage? –

+0

@KimKern, scheint jetzt in Ordnung zu sein. –

+0

@KimKern, bitte fügen Sie dies als Antwort hinzu. –

Antwort

0

Wenn noJwtError im AuthConfig Objekt true Einstellung, fordert mit einer ungültigen oder fehlenden Token wird mit einer normalen HTTP-Anfrage durch (ohne Authentifizierung)

Wenn dies der Fall ist, sollten Sie überprüfen, ob Ihr Token an der angegebenen Stelle (hier sessionStorage.getItem('token') von der DevTools-Konsole) zugegriffen werden kann und ob das angegebene Token gültig ist. Um die Gültigkeit zu überprüfen, können Sie beispielsweise den Token-Debugger unter https://jwt.io verwenden.

Verwandte Themen