【发布时间】:2020-07-03 03:33:33
【问题描述】:
我知道... CORS 问题是一个很好讨论的话题。在寻找了几个小时来解决我的问题之后,我现在向您寻求帮助:)
我的后端有一个 ionic angular 应用程序和一个 spring boot 应用程序。后端托管在公共服务器上(带有域)并使用letsencrypt ssl加密。
在我添加自定义标题之前,一切正常。对于每个请求,我都会收到一个 cors 错误:
Access to XMLHttpRequest at 'https://www.BACKEND_URL.com:5000/healthstatus'
from origin 'http://localhost:8100' has been blocked by CORS policy:
Response to preflight request doesn't pass access control check:
No 'Access-Control-Allow-Origin' header is present on the requested resource.
我已经使用这样的拦截器添加了自定义标头参数:
import {Injectable} from '@angular/core';
import { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';
import {Observable} from "rxjs";
import {AuthService} from "../services/auth.service";
@Injectable() export class TokenInterceptor implements HttpInterceptor {
constructor(public auth: AuthService) { }
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
console.log('####: interceptor: addHeader');
request = request.clone({ setHeaders: { Authorization: `Bearer TEST-TOKEN` } });
return next.handle(request);
}
}
在控制器上我还添加了 CrossOrigin 注释
@CrossOrigin
@Controller
只有当我编辑标题时,我才会收到 CORS 错误。你能给我一个建议吗?还有其他方法可以将我的令牌添加到请求中吗?
提前致谢
【问题讨论】:
标签: angular spring spring-boot ionic-framework cors