【发布时间】:2017-02-04 03:37:57
【问题描述】:
我已经使用 Jersey 2.x 为我的应用程序实现了 REST API。我采用 REST 方法是因为我计划稍后添加移动应用程序。现在它只是一个网络应用程序。我正处于考虑安全性的地步。我需要处理两件事。
- 对用户进行身份验证和授权:现在,我正在通过 HTTPs 使用 HTTP Basic 身份验证。但是有没有更好的方法,而不是让用户通过网络发送用户名和密码。我知道它是通过 HTTPS,但我正在探索。我想到了 OAuth 1.0a。我在正确的轨道上吗?
- 保护 API 本身:我不希望除我的 Web 应用程序之外的任何其他客户端在白名单中。我稍后会将我的移动应用程序添加到此白名单中。我正在设想某种密钥来识别此客户?
我想上面的 #1 和 #2 都可以使用 OAuth 1.0a 完成,但就安全和授权而言,它们是两种不同的实现。两者可以共存吗?您能否为我提供有关如何入门的任何指示以及现实世界中的一些示例?
那里有很多信息,但安全性不是我的强项,我试图通过自己在自己的应用中编写代码来理解。
【问题讨论】:
-
有什么特别的理由提到 OAuth 1.0a 而不是 OAuth 2.0/OpenID Connect?
-
说实话,我还没有研究过OAuth 2.0。这就是为什么。
标签: rest api security authentication