我正在使用 Spring security,一旦用户通过身份验证,我们就会使用 token 对用户进行身份验证和授权。我们的网站访问者也会使用一些 API。
我是否应该允许访问者通过提供公共(public) token 来访问这些 API(此公共(public) token 将通过点击特定 URL 来访问)
或者
我是否应该允许访问者在没有任何 token 的情况下访问 API?
最好的方法是什么?
最佳答案
如果您尝试提供公钥(或 token )来访问完全无用的非安全 API。只需尝试将它们从 Spring Security 中排除即可。
http.authorizeRequests().antMatchers("/publicApis/*").permitAll()
如果您更担心中间人等安全攻击,那么您可能需要考虑使用基于 API 签名机制(哈希/摘要)的机制来为请求创建签名,从而保护公共(public) API。这将避免请求篡改。
关于java - 我应该允许在没有 token 还是有 token 的情况下访问公共(public) API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43280670/