希望保护我的公共API端点免受直接访问,以避免将我的API url直接放在浏览器或邮递员中



我正在制作一个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/

最新更新