使用Rest Api连接网络/移动设备?

时间:2017-11-18 18:30:42

标签: java rest web-services authentication

我正在使用Java Spring Boot框架开发REST API。此API的目的是连接移动和Web应用程序,以便它们可以一起工作。

我的问题是,开发登录功能或登录过程的最佳做法是什么。我应该生成一个令牌,或者我应该怎么做?

1 个答案:

答案 0 :(得分:1)

您可以按照OWASP here中所述的最佳做法进行操作。

现在大多数API都使用基于令牌的安全性。以下是一些指导原则:

  • 您需要一个对用户进行身份验证的服务(它本身是公共的)。
    • 为了对用户进行身份验证,可能会使用用户名和密码,和/或其他方式。
    • 作为对用户进行身份验证的结果,此服务返回授权令牌。
    • 你的后端应该跟踪发行的令牌。
    • 每个令牌都有一个到期时间。
  • 每次客户端使用API​​时,都应该发送令牌。通常,令牌将作为HTTP标头发送。
  • API中的每个服务都应该先验证令牌。如果令牌无效,则应返回适当的HTTP代码。

所有通讯都应通过SSL发送。

OAuth和OAuth2是这个目标的两个众所周知的协议。 OAuth比OAuth2稍微复杂一点。

这是一个非常高级别的描述,技术上并不深刻,但它应该让你开始。