我目前正在进行一场辩论,我想知道社区对此有何看法。
我们看到只需要基本身份验证(可能是 HTTP)或 OAuth 的 REST API。
我们看到 REST API 也需要签名;包含秘密,时间戳,也许是随机数。
我们偶尔会看到 REST API 也需要请求参数(以特定方式组装)包含在签名中。
数字 3 提供了全面的安全性(尽管在现实和实践中前者有很多问题吗?),但是,它增加了更多的实现复杂性 - 以特定方式组装请求参数创造了一个很大的机会来搞砸事情,而你可以告别“快速测试”API。
我的安全负责人会说“选择 3 号,白痴”,但我的可用性负责人说“这是一个完整的 PITA,2 号在现实世界中就足够了,如果使用得当 - 即通过 https - 没有什么可出错的” .