angular - 如何使用 JWT Token 以 Angular 5 存储获取响应数据
问题描述
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
- 然后在服务的构造函数中加载该令牌。
- 然后创建标题
- 通过在标头中传递令牌调用任何服务方法。
推荐阅读
- dart - 使用流构建 loadmore 列表视图
- c - 输入一个字符作为整数变量的输入,给出一个无限循环
- android - android marshmallow 及更高版本的图像上传问题
- mysql - 通过 SQL 代码在 phpMyAdmin(wampserver)中创建表时出错
- ios - Wowza GoCoder 直播无法在启用音频的情况下工作
- c# - 如何在 ASP.NET MVC 应用程序的 Razor 引擎中使用 Html.Displar 呈现 ModelMetadata 对象?
- c# - 如何在 C# 中生成具有各种大小的单元格的随机泛洪填充
- java - 确保每个类在 postconstruct 之前都是自动装配的
- twitter - 是否可以用许多关键字搜索推特用户
- java - java.math.BigDecimal 除法不准确