2017-11-15 3 views
1

Meine api RoutenAngular 4 und Laravel jwt-auth Fehler

Route::group(['prefix' => 'v1', 'middleware' => ['cors','jwt.auth']], function() { 
    Route::get('/test', function() { 
     return ['name' => 'anil']; 
    }); 
}); 

Ich bin schon in Laravel angemeldet jwt Token generieren

login(user: Object): Observable<any> { 
    return this.http.post(SettingsComponent.API_ENDPOINT+'api/v1/login', user) 
    .map((response: Response) => { 
    let token = response.json().token; 
    let userid = response.json().userid; 
    console.log("Response token:" + userid); 
    if (token) { 
     this.token = token; 
     this.userid = userid; 
     localStorage.setItem('currentUser', JSON.stringify({ userid: userid, token: token })); 
     return true; 
    } else { 
     return false; 
    } 
    }) 
    .catch((error: any) => Observable.throw(error.json().error || { message: "Server Error" })); 
} 

I save lokalen Speicher am Token

So verwenden Dieses Token in Nexr URL senden erhalten Methode

getdata() { 
    let headers = new Headers({ 'Authorization': 'Bearer ' + 
     this.authService.token }); 
    return this.http.get(SettingsComponent.API_ENDPOINT+'api/v1/test',headers) 
     .map((response: Response) => response.json()) 
     .catch((error: any) => Observable.throw(error.json().error || { message: "Server Error" })); 
    } 

Der Fehler Ich erhalte:

{ "Fehler": "token_not_provided"}

Wie löse ich dieses Problem?

Antwort

0

stellen Sie den Token getrennt im lokalen Speicher dann Sie mögen dies tun können:

return localStorage.getItem('token') ? JSON.parse(atob(localStorage.getItem(token'))) : null;