カスタムCORSFilterを追加し、ヘッダにアクセス制御 - 許可 - 起源フィールドで許可されたURLを追加することにより、要求の発信元をrestringすることができます。以下はその達成方法です -
public class CORSFilter implements Filter {
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
System.out.println("Filtering on...........................................................");
HttpServletResponse response = (HttpServletResponse) res;
response.setHeader("Access-Control-Allow-Origin", "permitted URL here");
response.setHeader("Access-Control-Allow-Credentials", "true");
response.setHeader("Access-Control-Allow-Methods", "POST, GET, PUT, OPTIONS, DELETE");
response.setHeader("Access-Control-Max-Age", "3600");
response.setHeader("Access-Control-Allow-Headers", "X-Requested-With, Content-Type, Authorization, Origin, Accept, Access-Control-Request-Method, Access-Control-Request-Headers");
chain.doFilter(req, res);
}
public void init(FilterConfig filterConfig) {}
public void destroy() {}
}
このフィルタは、必要に応じて変更することができます。ヘッダ値は、侵入者によって破られることができるように
EDIT
上記の方法は、完全に安全ではありません。最高のソリューションは、トークンベースの認証を使用することです。 JWTは、ここで最善のオプションの一つです。
これは参考になる場合があります。https://cloud.google.com/endpoints/docs/frameworks/python/restricting-api-access-with-api-keys-frameworks – Prabhav