Spring Security 希望从直接访问中保护我的公共API端点,以避免将我的API URL直接放在浏览器或 Postman 中

lymnna71  于 2023-04-06  发布在  Spring
关注(0)|答案(1)|浏览(95)

我正在做一个restful Sping Boot API,有一些私有API端点,还有一些是公共的。私有端点由Spring security保护。公共API有permit alltype access。我只是想知道,我如何确保我的公共API端点不被直接命中api url调用(ex-https://backend.com/api/public)。它应该只从我的前端域(ex-https://frontend.com/myapp)调用,它应该使用cros调用我的API。
需要遵循什么方法?我不太知道在IT行业是如何做的,请让我知道这些在组织内是如何工作的。

balp4ylt

balp4ylt1#

您可以使用跨域请求来允许端点仅当它通过特定的起源
范例

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/

相关问题