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

问题描述 投票:0回答:1

我正在制作一个restful Spring Boot API,有一些私有API端点以及一些公共端点。专用端点由 Spring 安全性保护。并且公共 api 具有允许所有类型访问。我只是想知道,如何确保我的公共 API 端点不会因直接点击 api url(例如 - https://backend.com/api/public)而被调用。它应该只从我的前端域(例如 - https://frontend.com/myapp)调用,它应该使用 cros 调用我的 api。

需要遵循什么方法?我不太清楚 IT 行业是如何做到的,请让我知道这些在组织内部是如何运作的。

spring spring-boot spring-security backend
1个回答
-1
投票
您可以使用跨源请求仅在端点通过特定源时允许端点

示例

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/

© www.soinside.com 2019 - 2024. All rights reserved.