环回-Angular2向请求添加accessToken

环回-Angular2向请求添加accessToken,angular,loopback,Angular,Loopback,我正在尝试使用访问令牌将所有查询从前端发送到环回。我正在使用angular2的环回sdk生成器 用户登录后,环回返回一个访问令牌。我使用上面的函数将访问令牌附加到请求头中 LoopBackConfig.setAuthPrefix(this.user.accessToken); 之后,所有请求的头都有如下属性: authorization: Wl3P7ysrfu1tq2gcljezdZRDHH... 我在middleware.json中的“initial:before”:中添加了“loopba

我正在尝试使用访问令牌将所有查询从前端发送到环回。我正在使用angular2的环回sdk生成器

用户登录后,环回返回一个访问令牌。我使用上面的函数将访问令牌附加到请求头中

LoopBackConfig.setAuthPrefix(this.user.accessToken);
之后,所有请求的头都有如下属性:

authorization: Wl3P7ysrfu1tq2gcljezdZRDHH...
我在middleware.json中的“initial:before”:中添加了“loopback#token”:{}

但是,still req.accessToken为空。我做错什么了吗


我还有一个问题。访问令牌是否应位于标头中?在环回文档中,访问令牌位于查询参数中。默认情况下,有没有办法将访问令牌添加到loopback sdk builder创建的服务中?

添加这一行解决了这个问题

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);

如果通过这些方法发送访问令牌,则应使用https来避免安全泄漏。

您是如何使用LoopBackConfig.setAuthPrefix()函数的?您好,我两年前就停止了该项目的工作。所以我记不清了,但就我在最新版本的代码中看到的,我已经注释掉了那一行。可能它不起作用,我改为auth.setToken()和auth.setUser()。auth是LoopBackAuth serviceOk谢谢,这可能是一个只能在后端解决的问题