angular2 jwt在标头中缺少授权
我有一个angular2应用程序,它使用jwt身份验证连接到express/node服务器 我正在使用angular2 jwt,这是我在app.module.ts中的配置angular2 jwt在标头中缺少授权,angular,jwt,angular2-jwt,Angular,Jwt,Angular2 Jwt,我有一个angular2应用程序,它使用jwt身份验证连接到express/node服务器 我正在使用angular2 jwt,这是我在app.module.ts中的配置 export function getAuthHttp(http) { return new AuthHttp(new AuthConfig({ globalHeaders: [{'Accept': 'application/json'}], tokenName: 'my_token', token
export function getAuthHttp(http) {
return new AuthHttp(new AuthConfig({
globalHeaders: [{'Accept': 'application/json'}],
tokenName: 'my_token',
tokenGetter: (() => localStorage.getItem('my_token')),
}), http);
}
然后,对于我的http调用,我像这样使用它
getQuestions(): Observable<any> {
return this.authHttp
.get(`${this.settings.api}/questions`)
.map((response: Response) => response.json());
}
如果我没有错的话,应该有一个授权:承载令牌
,但它不见了
我检查了在获取AuthHttp时是否可以检索令牌,它是否工作,因此令牌存在并且可以访问
有什么想法吗?
谢谢
编辑
我开始认为这可能与CORS有关,因为我的旧php服务器在另一台机器上,而新节点在我自己的机器上。
是吗?在这种情况下如何修复它?所以,如果有人到了这里,我使用Express库解决了这个问题
易于使用,只需添加
app.use(cors())代码>在我的节点服务器中的任何中间件之前。向服务器发出cors请求不确定如何执行此操作,这是在服务器中还是在前端配置的?或者两者都是?服务器应该配置为传递cors请求,但如果这是服务器问题,为什么我在Chrome的请求对象中看不到授权头?在到达服务器之前,这不应该是一个“原始”对象吗?它是发送到源服务器的不同请求
Accept:*/*
Accept-Encoding:gzip, deflate, sdch, br
Accept-Language:en,es-ES;q=0.8,es;q=0.6
Access-Control-Request-Headers:authorization
Access-Control-Request-Method:GET
Cache-Control:no-cache
Connection:keep-alive
Host:localhost:3050
Origin:http://evil.com/
Pragma:no-cache
Referer:http://localhost:8100/
User-Agent:...