Wcf JSONP是API必须的吗?

Wcf JSONP是API必须的吗?,wcf,json,api,jsonp,Wcf,Json,Api,Jsonp,我有一个支持SOAP/JSON/XML的WCFAPI,但我们不提供JSONP。 这意味着如果有人想使用JSON使用我们的API,他们必须创建一个服务器端代理来绕过跨浏览器限制 我有点喜欢这样,因为它不鼓励用户将api密钥和机密放在客户端代码中。虽然大多数方法都接受和访问令牌,但我们有auth方法,这些方法要求使用者发送密钥和密码以获取该访问令牌。如果我们公开JSONP,一些消费者可能会在客户端提出这个请求,我对此并不感到兴奋 所以。。。如果您有一个支持JSON的API,那么支持JSONP是必不可

我有一个支持SOAP/JSON/XML的WCFAPI,但我们不提供JSONP。 这意味着如果有人想使用JSON使用我们的API,他们必须创建一个服务器端代理来绕过跨浏览器限制

我有点喜欢这样,因为它不鼓励用户将api密钥和机密放在客户端代码中。虽然大多数方法都接受和访问令牌,但我们有auth方法,这些方法要求使用者发送密钥和密码以获取该访问令牌。如果我们公开JSONP,一些消费者可能会在客户端提出这个请求,我对此并不感到兴奋

所以。。。如果您有一个支持JSON的API,那么支持JSONP是必不可少的。 要求使用者创建服务器端代理是否可怕

JSONP并不难实现,但出于上述原因,我犹豫不决。 只是想听听你的想法/建议。
谢谢

您可以创建只适用于JSONP的特殊身份验证密钥,然后返回检查
位置
并确保身份验证密钥由有效站点使用的Javascript

然而,这并不能阻止恶意服务器发送JSONP请求并解析JSON


你需要弄清楚你的合作伙伴想要什么,攻击者可能会做什么,以在可用性和安全性之间进行权衡。

这完全取决于你要寻找的消费者类型。谢谢你的回复。这是有道理的!我们的合作伙伴使用所有不同的语言与我们的系统交互。PHP、.NET和喜欢JavaScript的前端开发人员。我们的合作伙伴利用我们从API获取的数据制作各种应用程序。因此,我想让API尽可能容易地为许多不同的消费者所使用,这就是为什么我想公开JSONP-但不确定我是否有一个有效的安全问题来反对这样做。我们能找个时间谈谈吗?我有了一个新的JSON api,我正在尝试获取有关安全措施的专家意见。如果你不介意的话,我想让你绞尽脑汁半个小时左右?