繁体   English   中英

如何使用 JWT 令牌以 angular 5 存储获取响应数据

[英]How to store get response data in angular 5 with JWT Token

getEmployeeList():Observable<Employee[]>{
  return this.http.get<Employee[]>('moi/employee/getEmp', AuthService.getHttpOptions());
}

我的AuthService.getHttpOptions()方法是:

 public static getHttpOptions(): any {''
    var httpOptions = {
        headers: new HttpHeaders({
            'Content-Type':  'application/json',
            'observe': "body",
            'Authorization': "Bearer " + localStorage.getItem("authtoken")
          })
    };
    return httpOptions;
}

得到错误:

类型 'Observable<HttpEvent<Employee[]>>' 不可分配给类型 'Observable<Employee[]>'。

类型 'HttpEvent<Employee[]>' 不可分配给类型 'Employee[]'。

类型 'HttpSentEvent' 不能分配给类型 'Employee[]'。

“HttpSentEvent”类型中缺少属性“includes”。

import { Observable } from 'rxjs/Observable';
import {Http,Headers,RequestOptions }  from '@angular/http';
import 'rxjs/add/operator/map';
import { tokenNotExpired} from 'angular2-jwt';
export Class serviceName{
  authToken;
  headers;
  // After login we have already store jwt token on the localstorage
  constructor(private _http:Http,private _router:Router) { 
    this.loadToken();
    this.headers = new Headers({'Content-Type': 'application/json', 'Authorization': 
     'Bareer '+this.authToken});
   }
   loadToken(){
     this.authToken = localStorage.getItem('token');
   }
  createAuthenticateHeaders(){
    this.loadToken();
    this.options = new RequestOptions({
      'headers':new Headers({
        'Content-Type': 'application/json',
        'authorization':this.authToken
      })
    });
  }
   getEmployeeList(userInfo){
    this.createAuthenticateHeaders();
    return this._http.get(this.domain+'/products', {headers:this.headers})
     .map(response => response.json());
   }
 }

您可以像这样绑定令牌。 脚步

  • 登录并生成 authtoken
  • 将令牌存储在会话存储中。 enter code here
  • 然后在服务的构造函数中加载该令牌。
  • 然后创建标题
  • 在标头中使用传递令牌调用任何服务方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM