【发布时间】:2012-08-26 03:39:36
【问题描述】:
对 API 资源的访问可能需要经过身份验证
可以由 Web 浏览器自动发送但不会跨域发送的凭据,除非 Access-Control-Allow-Credentials 设置为“true”(例如 cookie、HTTP Basic/Digest 身份验证、SSL 证书)。
必须由客户端手动设置的秘密令牌,无论是在 HTTP 标头中还是作为 URL 中的查询参数(例如 OAuth 访问令牌)。
考虑到这一点,在 API 中的所有资源上设置“Access-Control-Allow-Origin: *”总是安全的吗?
【问题讨论】:
-
本质上,问题是“如果 API 仅在 HTTP 标头中使用 OAuth 进行身份验证,那么在所有资源上设置 'Access-Control-Allow-Origin: *' 是否安全?”
-
一个必然的问题是“为什么网络浏览器不允许跨域访问所有资源,只要不发送凭据?”
标签: security api http authentication cors