KaM*_*MaL 5 java same-origin-policy cors openshift spring-boot
我正在尝试将 angualar js 应用程序与后端 spring boot 集成,其中我面临着预检请求不允许重定向
这是部署在 openshift 上,我通过在控制器方法中添加一些注释来配置启用 cors,这帮助我解决了:请求在传入请求中没有“Access-Control-Allow-Origin”标头:CORS 策略问题。
@CrossOrigin(allowedHeaders = "*", origins = "*", exposedHeaders =
"Access-Control-Allow-Origin", methods = {
RequestMethod.POST, RequestMethod.GET, RequestMethod.PUT,
RequestMethod.DELETE, RequestMethod.HEAD,
RequestMethod.OPTIONS, RequestMethod.PATCH, RequestMethod.TRACE })
@RestController
public class Controller {
@Autowired
Service botService;
@Autowired
Environment env;
@CrossOrigin()
@RequestMapping(value = "/jwtToken", method = {
RequestMethod.POST }, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
@ResponseStatus(HttpStatus.OK)
public ResponseEntity<UnifiedService> botConntor(
@RequestBody UnifiedInput input, HttpServletRequest request) {
UnifiedBPMService output = botService.processBotRequest(input, request);
return new ResponseEntity<UnifiedService>(output, HttpStatus.OK);
}
Run Code Online (Sandbox Code Playgroud)
我在实际的角度应用程序中得到的错误是:
CORS 策略已阻止从源“http://”访问“http:///chatbot/api/jwtToken”处的 XMLHttpRequest:对预检请求的响应未通过访问控制检查:预检不允许重定向要求。
选项调用返回了以下响应:
Request URL: http://<domain>/chatbot/api/jwtToken
Request Method: OPTIONS
Status Code: 302 Found
Remote Address: 10.235.222.220:80
Referrer Policy: no-referrer-when-downgrade
Run Code Online (Sandbox Code Playgroud)
您的后端正在重定向 (302),而不是向 OPTIONS/预检请求发送正确的响应 (200)。检查您的后端日志以了解其重定向的原因。这可能类似于 Spring security 拒绝 OPTIONS 请求并重定向到您的登录页面。
| 归档时间: |
|
| 查看次数: |
16389 次 |
| 最近记录: |