我正在使用Tymon JWT从我的Laravel
应用程序中设置 JWT 令牌。
我的设置类似于快速入门指南,当我使用 进行测试时postman
,后端成功返回访问令牌。
在前端,我使用Angular2-jwt从前端发送请求,并将Http
模块替换为AuthHttp
来自此包的模块,该包是 Http 模块的包装器。
配置 AuthModule 类似于指南:
import { NgModule } from '@angular/core';
import { Http, RequestOptions } from '@angular/http';
import { AuthHttp, AuthConfig } from 'angular2-jwt';
export function authHttpServiceFactory(http: Http, options: RequestOptions) {
return new AuthHttp(new AuthConfig({
tokenName: 'token',
noJwtError : true, //<== Using this explicitely because i am using AuthHttp on every routes.
tokenGetter: (() => sessionStorage.getItem('token')),
globalHeaders: [{'Content-Type':'application/json'}],
}), http, options);
}
@NgModule({
providers: [
{
provide: AuthHttp,
useFactory: authHttpServiceFactory,
deps: [Http, RequestOptions]
}
]
})
export class AuthModule {}
在登录页面的第一次加载期间,如果我有有效的身份验证令牌,则请求中没有Authorization: Bearer <token>
添加任何内容。Get
有时它会被添加到标头中,并且在某些请求中标Authorization
头中没有。
图片1:
即使有有效的令牌,也没有在标头中添加授权
图片2:
授权标头在向后端请求令牌之前添加。
我不确定何时添加标题以及何时从标题中删除。
有没有其他人收到过这种问题?
如果需要更多详细信息,将添加它们。