密码保护某些端点/资源

时间:2015-03-03 12:07:12

标签: php rest

我正在为部分文件夹/文件浏览器应用程序构建REST API。

设计的一个方面是密码保护文件夹的能力,我只是想知道最佳做法是什么。

我的文件夹表有一个is_protected布尔值和一个加密存储的密码字段。这是可选的保护。

开发人员会向http://my-website/api/v1/folders/1发送GET请求,后端会将资源作为JSON返回。

但是,如果文件夹受密码保护,我需要检查密码是否匹配。是否最好在HTTP标头中发送?或者使用唯一文件夹slug作为键的会话?

欢迎所有建议,干杯!

1 个答案:

答案 0 :(得分:0)

您的REST API应该创建一个登录服务,该服务将使用用户名/密码,并使用授权令牌进行响应以用于后续请求。Authorization: token 98wuun8EIU23H8D3D87dow7dh此令牌也应该具有到期日期需要刷新,您的应用程序不应在资源请求本身上传递用户名/密码。

身份验证令牌本身应该对每个用户都是唯一的,并且在刷新时应该生成一个全新的唯一令牌。然后您的令牌可用于识别后端的用户。

刷新可以通过刷新令牌完成,也可以要求用户再次输入用户名/密码并请求新的Auth令牌。

还要确保您的生产环境使用SSL来减少中间人攻击。