通过API登录站点

通过API登录站点,api,theory,Api,Theory,我们允许开发者让他们的用户通过API登录我们的网站/平台。登录将通过HTTPS访问我们的API,因此它至少会安全地传递用户名和密码 但在此之后,通过API“登录”此人的最有效方式是什么?这就是我的想法 //应用程序将用户名和密码传递给API //我们的API处理用户名和密码 //如果登录失败,则输出失败代码 //如果登录成功,则创建一个authcode并将其保存在用户表中。将身份验证码和用户id发送回应用程序 现在,每当用户执行一个操作(比如发表评论)并点击我们的API时,我们都需要用户id和a

我们允许开发者让他们的用户通过API登录我们的网站/平台。登录将通过HTTPS访问我们的API,因此它至少会安全地传递用户名和密码

但在此之后,通过API“登录”此人的最有效方式是什么?这就是我的想法

//应用程序将用户名和密码传递给API

//我们的API处理用户名和密码

//如果登录失败,则输出失败代码

//如果登录成功,则创建一个authcode并将其保存在用户表中。将身份验证码和用户id发送回应用程序

现在,每当用户执行一个操作(比如发表评论)并点击我们的API时,我们都需要用户id和authcode来进行身份验证


我遗漏了什么吗?我是否应该包括一个expire列,以便在X小时后“注销”用户

一般来说,您的流程很好。互联网上的一些主要API也是这样工作的

有些事情你可以考虑加入(现在或将来):

  • 在上创建(用于注销功能)。我建议在一段特定的时间后到期(即使是一个月)
  • 未命中,即每次在API中使用“未经身份验证”的身份验证代码命中用户id时计数。通过这种方式,您可以检测暴力强制,并决定是否还要添加其他对策(例如将authcode锁定到IP)
  • ip,将身份验证码锁定到ip以防止暴力强制