2

我知道您不允许进行跨域 Ajax 调用,但为什么我可以对 facebook(或 twitter 或其他)的 oauth API 进行跨域 ajax 调用?

这是否与以下有关?

"Access-Control-Allow-Origin: *"

允许所有访问都像这种不好的做法吗?有没有更好的方法只允许您授权的人?

谢谢!

4

1 回答 1

2

Access-Control-Allow-Origin响应头字段跨域资源共享的一部分,它允许在某些条件下使用 XHR 进行跨域请求,这些条件可以由请求发送到的服务器控制。

在这种特殊情况下,Access-Control-Allow-Origin: *意味着服务器允许来自任何来源的请求。这基本上意味着该资源是公开可用的并且不支持凭据。

但是由于您希望将访问权限限制为仅授权用户,您不能使用*. 相反,您需要返回Origin标头字段值(请参阅第 6.1 节)。如果客户端已经拥有凭据但尚未请求资源,您还需要支持预检请求,以协商允许客户端发送哪些信息。

于 2012-05-06T11:16:49.617 回答