API安全 - oauth 1还是2?

时间:2015-01-13 13:51:02

标签: api rest oauth oauth-2.0 authorization

他们,

我设计了一个实用的RESTful' API。不是Fieldings规范 - 但与此http://www.restapitutorial.com/保持一致 - 请暂时搁置RESTful API辩论的内容......

我想知道的是如何最好地保护我的API。我看到Oauth1.0a很常见,但我也看到它被弃用了。我现在应该使用的是什么? OAuth2.0的?或者我应该忽略弃用并继续使用Oauth1.0a?

另外,如果我要使用Oauth 1.0或2.0,我应该为API研究哪些流程?

干杯,

2 个答案:

答案 0 :(得分:1)

Oauth 2.0规范允许您根据需要定制安全性。如果您要使用OAuth 2.0,则必须找出最适合您和您的情况。

尽管Hans说Oauth 2.0最安全,但你必须意识到很多人认为它的大多数实现都是不安全的(不是因为规范很糟糕,而是因为它太开放和松散以至于人们无法正确保护所有区域,比如它们应该)。 Oauth 2.0在接近主题方面更“松散”。如果你仔细观察,Oauth 2.0的RFC规范称它为“框架”,而它将Oauth 1.0a称为“协议”。出于这个原因和其他一些原因,像twitter这样的公司已经坚持使用Oauth 1.0a。虽然OAuth 2.0是新的,但您必须引入其他规范,例如JWT才能正确保护它。

如果我想确保我的API应用程序是安全的,我肯定会坚持使用Oauth 1.0a(经过测试和测试),除非您现在绝对需要Oauth 2.0的某些功能。

使用Oauth1.0a,实际上只有一种方法可以做到这一点,所以你应该使用的“什么样的流程”的问题在那里得到了很好的解答。

答案 1 :(得分:0)

OAuth 2.0是OAuth 1.0a的继承者,许多API已经开始支持它,支持Auth 1.0a。此外,新的开发 - 例如与OAuth 1.0a中已签名的请求相当的功能,称为拥有权证明 - 目前正在OAuth 2.0中发生,并且在OAuth 1.0上没有进行任何开发。因此OAuth 2.0是您未来最安全的选择。