【问题标题】:Spring REST API Security, When to use OAuth and When to use Spring Security?Spring REST API 安全性,何时使用 OAuth 以及何时使用 Spring Security?
【发布时间】:2014-08-07 01:34:11
【问题描述】:

我正在为 Android 和 iOS 客户端开发 Spring REST 应用程序。还有一个网络客户端。我可以使用 spring security 来实现 web 客户端。但是对于 android 和 ios 应用程序,我还应该使用 spring security 吗?还是实施 OAuth 更好?既然我不允许我的 API 访问第 3 方,那么实施 OAuth 真的值得吗? cz 我自己开发 Android 和 iOS 客户端。

【问题讨论】:

  • Spring Security 支持 OAuth 为什么要放弃 Spring Security 并尝试自己重新发明轮子?
  • 您想保护您的其余 API 或您的客户端应用程序(Web、iOS、Android)吗?
  • 我想保护我的 REST API。目前我正在使用 SSL,除了我将使用带有 Spring Security 的 OAuth 之外,我真的需要实现 OAuth 吗? cz 我不会公开 API 以供第三方使用

标签: spring oauth spring-security oauth-2.0


【解决方案1】:

OAuth 的主要目的是让客户端能够代表第 3 方访问资源,而无需向客户端透露第 3 方凭据。在您的情况下,您可以完全控制客户端(Android/web/iOS)和资源端(Spring REST 应用程序)的用户,因此您不会从 OAuth 背后的主要概念中受益。

除非您有阻止您在客户端存储密码的要求,或者除非您计划将 API 的使用扩展到其他不应获取用户凭据的应用程序,否则您可以使用SSL/TLS + 例如HTTP-Basic 身份验证并将节省的时间用于改进应用程序本身。

当然,您必须确保永远不要通过未加密的通道发送凭据,但这同样适用于 OAuth Bearer 令牌。

【讨论】:

  • 感谢您的回答,此回答仅解释了何时使用 OAuth 以及何时使用 HTTP Basic 身份验证。就我而言,决定继续使用 HTTP 基本身份验证,正如您所说,我的应用程序不会从 OAuth 背后的主要概念中受益。谢谢。
猜你喜欢
  • 1970-01-01
  • 2017-09-16
  • 2016-04-19
  • 1970-01-01
  • 2017-05-26
  • 2012-01-15
  • 2015-12-09
  • 2015-12-11
  • 2014-07-19
相关资源
最近更新 更多