api - 有没有办法在没有基于登录的身份验证的情况下保护 API?
问题描述
我目前正在为网站开发 API,但该网站不需要登录即可使用,因此 API 必须在没有个人用户身份验证的情况下工作。目标是防止 API 被第 3 方使用。
有没有办法保护 API 仅供我的网站使用,而不使用登录身份验证来防止第 3 方调用后端服务。
我已经研究过 CORS,但这似乎不是一个强有力的保证。另一个想法是轮换 API 密钥。在这些情况下通常使用什么?
解决方案
加载您的网站后,在您的客户端中设置一个唯一令牌。在您的所有请求中将这个唯一令牌发送到您的服务器,这可以帮助您确定您的客户端是否正在访问 API。
用户不必登录,但在这种情况下您设置了一个令牌,类似于 API Key 身份验证类型。
推荐阅读
- java - 如何确定一个 0-360 经度范围是否包含另一个
- java - 带有黄瓜的正则表达式与字符串不匹配
- c# - 第二次加载页面时覆盖 SelectListItem/Bound 属性
- java - Spring AOP中无法拦截advice方法
- python - Scrapy ValueError:网址不能为无
- regex - 使用 RegExp 删除特定字符串
- android - 仅在我的应用未运行时发送通知
- android - 使用 Dagger 在 Android 中清理架构
- android - 访问被拒绝“persist.vendor.camera.privapp.list”
- swift - SwiftUI 条件在视图的顶层不起作用