2017-12-01 14 views
0

私はAngular ProjectでJWTを実装しようとしています。私の古いAngular 2アプリケーションでは問題はありませんでした。しかし、新しいHttpHeadersでは、今は動作しません。私はトークンがnullではないと確信しています。私もベアラーやトークンやベーシックを試しました。角型HttpHeaderS JWT

エラー応答:

{"message":"JsonWebTokenError: jwt must be provided","code":"server_error","statusCode":403}

createProject(project: Project) { 
    let header = new HttpHeaders(); 
    header.append('Content-Type', 'application/json'); 
    header.append('Access-Control-Allow-Origin', '*'); 
    header.append('Authorization', environment.token); 
    header.append('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS'); 
    return this.http.post(environment.baseUrl + "project/create", project, {headers: header, responseType: "text"}); 
} 

答えて

0

これはあなたの状況のた​​めに働く必要があります。

createProject(project: Project) { 
    const headers = new HttpHeaders().set('Content-Type', 'application/json') 
    .append('Access-Control-Allow-Origin', '*') 
    .append('Authorization', environment.token) 
    .append('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS'); 
    return this.http.post(environment.baseUrl + 'project/create', 
    JSON.stringify(project), {headers: headers, responseType: 'text'}); 
} 

これは、すべてのHttpHeaderssetappendヘッダーの1つのセットを取得するために一緒に呼び出しを連鎖されます。これは私が持っている同様の状況のた​​めに働く。それを古い方法でやっても私は頭痛を与えていた。

また、environment.tokenがサービスの期待どおりであることを確認する必要があります。通常'Bearer <token...>'のようなものです。

関連する問題