我正在我的 MEAN Stack 宠物项目中实施 passport-jwt 来保护路由。服务器端运行良好,服务器在标头中接收到正确的 jwt 并正确响应邮递员请求和来自我的 Angular 应用程序的请求,而我在获取请求中使用完整的 url。
import { HttpClient, HttpHeaders } from '@angular/common/http';
...
constructor(private http: HttpClient) {}
...
getProfile() {
this.loadToken();
let requestHeaders = new HttpHeaders()
.set('Content-Type', 'text')
.append('Authorization', this.authToken);
return this.http.get('http://localhost:8080/users/profile', {headers: requestHeaders})
}
但是当我从请求 url 中删除我的 localhost 域以准备应用程序进行托管时,我开始收到
错误 401 未经授权
return this.http.get('users/profile', {headers: requestHeaders})
我登录以控制台来自两个请求的标头并注意到它们完全不同
,
在第一个请求(正常工作)中,我的 jwt 在[[Entries]]
数组中,但在第二个请求中,它在lazyUpdate
数组中,服务器找不到它。为什么只有通过从 url 中删除 localhost 才能使标题发生如此巨大的变化?如何修复此标头?
PS我的护照配置