我正在制作一个restful Spring Boot API,有一些私有APIend pointspublic。私有端点由Spring安全性保护。并且public api允许所有类型的访问。我只是想知道,我怎么能确保我的公共API端点是不调用直接点击API url(例如https://backend.com/api/public)。它应该只从我的前端域(例如- https://frontend.com/myapp)调用,它应该使用cross调用我的api。
需要遵循什么方法?我不太清楚IT行业是如何做到的,请让我知道这些在组织内部是如何工作的。
您可以使用跨域请求来允许端点仅当它通过特定的源
例子public WebMvcConfigurer corsConfigurer() {
return new WebMvcConfigurer() {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/greeting-javaconfig").allowedOrigins("http://localhost:8080");
}
};
}
现在只允许通过localhost:8080
了解更多信息https://spring.io/guides/gs/rest-service-cors/