使用REST API进行身份验证 - 简单方法

时间:2016-09-12 12:32:26

标签: php rest api oauth

我想要的是什么:

嗨,我在标准问题出现之前,我想制作无状态的api api,这对用户来说是安全的。尽管如此,我想避免像Oauth那样的大解决方案,这对于我的小应用来说有点矫枉过正

我想避免的事情:

正如前面部分所述,我希望避免使用太大的解决方案,因为让它工作会带我更多然后自己开发应用程序。

我也不确定我是否想尝试自己编写自己的解决方案,因为我可以轻易忘记某些事情。或者甚至没有想到什么,因为我不是安全专家。

我认为它可以轻松实现:

我相信其中的一部分就是如何然而Oauth的工作是我的观点:

  1. 用户发送到/api/login.php服务器发现用户凭据正确
  2. 服务器生成一些唯一令牌并将其存储在用户名旁边的表中,同时发送回用户作为其登录请求的响应
  3. 用户从现在开始发送的每个请求。服务器作为第1件事,如果他从用户那里得到一个令牌,并且令牌是以前创建的令牌服务器之一。
  4. 之后,它会检查访问权限(如果用户有此功能的权限,或者例如id=xzy的数据)
  5. 如果3(或4)的答案为真,他提出了从服务器获取数据的真实请求
  6. 此唯一令牌将在表格中保留1天,所有令牌将在晚上被某些CRON脚本删除。
  7. 如果用户稍后退出,他的令牌将被删除
  8. 优点:

    • 我认为它很容易实现

    缺点:

    • 不确定在表格中存储令牌是否安全,也可能会影响性能以始终在DB上发出请求
    • 用户在半夜浏览网站的可能问题(相当低的%但仍然......)如果在冲浪网站中间注销并返回401

    问题: 在不创建一些大型oauth服务器和客户端站点的情况下,实现良好且安全的restfull api的最佳方法是什么?

0 个答案:

没有答案