无法使用 auth0/angular-jwt 包含/发送 jwt 令牌



我使用"https://github.com/auth0/angular2-jwt"将JWT令牌发送到我的服务器,当我调试http请求(角度)时我可以看到令牌,但在服务器(java)找不到令牌

这是我的配置JWT

JwtModule.forRoot({
  config: {
    headerName: 'API_TOKEN',
    tokenGetter: function tokenGetter() {
      return localStorage.getItem('API_TOKEN');
    },
    whitelistedDomains: ['localhost:8092'],
    // blacklistedRoutes: ['https://localhost:8092/login'],
    authScheme: ''
  }
}),

我添加了一个 JwtHttpInterceptor 来调试我的请求:

@Injectable()
export class JwtHttpInterceptor implements HttpInterceptor {
  constructor() {}
  intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
 return next.handle(req);
}
}

这是一个屏幕截图:标头请求中的JWT令牌

但服务器找不到此令牌。

当我尝试使用chrome插件添加令牌时,它可以工作,服务器可以找到我的令牌:使用chrome插件添加的令牌

你能帮我吗?

如果它可以帮助另一个人,我找到了解决方案,实际上它来自后端,我反转了弹簧安全过滤器,我的请求"选项"应该首先通过过滤器 CORS

        httpSecurity
.addFilter(jwtAuthenticationFilter)
.addFilterBefore(corsInputFilter, UsernamePasswordAuthenticationFilter.class) // OPTIONS REQUEST SHOULD COME HERE IN THE FIRST AND RETURN THE RESPONSE WITHOUT CONTINUE OTHERS FILTERS
.addFilterBefore(tokenAuthenticationFilter, UsernamePasswordAuthenticationFilter.class);

相关内容

  • 没有找到相关文章

最新更新