【发布时间】:2018-06-24 15:07:37
【问题描述】:
我有以下返回对象的工作方法。
getWorkers(): any {
const url = ...
return new Observable<any>(emitter => {
this.http.get(url).subscribe(
result => {
result.json().map(...).forEach(...);
emitter.complete();
},
error => error);
});
}
现在,我通过 JWT 保护端点对后端进行了更改。当然,原来的方法现在失败了,我添加了从 REST API 获取令牌。它以正确的哈希值返回。问题是我不确定如何将其插入原始响应中。
getWorkers(): any {
const url = ...
this.http.post(environment.sec, { credential: "1234" })
.subscribe(secRes => console.warn(secRes.json()));
return new Observable<any>(emitter => {
let authorization = null;
this.http.post(environment.secUrl, { credential: "1234" })
.subscribe(
secRes => {
authorization = secRes.json();
this.http.get(url, authorization).subscribe(
result => {
result.json().map(...).forEach(...);
emitter.complete();
},
error => error);
});
});
}
我尝试发送第一次调用的结果的一些组合,例如完整的 authorization 对象以及它的 authorization.token 字段。没有什么会产生不同的结果 - 它会在未经授权的情况下返回。事实上,我注意到程序甚至没有执行结果部分的语句!
我做错了什么?
注意。我想了解它的机制,所以我想在不使用任何第三方包(包括通常推荐的angular2-jwt)的情况下解决它。
【问题讨论】:
标签: javascript angular authorization jwt