【发布时间】:2018-09-27 18:53:45
【问题描述】:
我们正在使用 Amplify 对 AWS Lambda 进行身份验证。我们正在尝试为我们的产品添加安全性,因此我添加了一个拦截器来检索当前凭据并将它们添加到每个请求的标头中。
以下代码正确拦截了请求,并正确检索了访问令牌。但是,由于所有的移动部分都是由异步 Promise / Observable 驱动的,所以请求在添加 header 之前就出去了。我需要改变什么?
对于我在 Promise / Observable 方面的有限经验,我深表歉意。
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
console.log("INTERCEPTED!!");
this.auth.userCredentials().subscribe( result => {
this.sessionToken = result.sessionToken;
console.log(this.sessionToken);
request = request.clone({
withCredentials : true,
setHeaders: {
Authorization: `Bearer ${this.sessionToken}`
}
});
});
console.log(request);
return next.handle(request);
}
【问题讨论】:
标签: angular rxjs aws-amplify