2017-05-04 37 views
0

我试图从前端发送所有查询以使用访问令牌回送。我正在为angular2使用loopback sdk构建器。Loopback - Angular2将accessToken添加到请求

用户登录后,环回会返回访问令牌。我使用上面的功能追加的访问令牌请求头

LoopBackConfig.setAuthPrefix(this.user.accessToken); 

之后,所有的请求头有一个这样的特性:

authorization: Wl3P7ysrfu1tq2gcljezdZRDHH... 

我已经加入‘环回#令牌’:{ }到“initial:before”:in middleware.json

但是,仍然req.accessToken为null。难道我做错了什么?

我还有一个问题。访问令牌是否在头部?在回送文档中,访问令牌位于查询参数中。有什么方法可以将访问令牌添加到默认由loopback sdk builder创建的服务?

回答

1

添加此行解决了我认为的问题。现在

app.use(loopback.token()); 

,AccessToken.findForRequest由每个请求调用。如果在标题,cookie或url中存在访问令牌,则会创建req.accessToken。

在前端,我使用LoopBackConfig.setAuthPrefix函数将访问令牌放入标头。对于EventSource请求,(因为它没有设置请求头的api),我将访问令牌添加到url。

let source = new EventSource("/route/event?access_token=" + self.auth.getToken().id); 

如果您通过这些方法发送access_token,则应使用https来避免安全性泄漏。