我正在为部分文件夹/文件浏览器应用程序构建REST API。
设计的一个方面是密码保护文件夹的能力,我只是想知道最佳做法是什么。
我的文件夹表有一个is_protected布尔值和一个加密存储的密码字段。这是可选的保护。
开发人员会向http://my-website/api/v1/folders/1发送GET请求,后端会将资源作为JSON返回。
但是,如果文件夹受密码保护,我需要检查密码是否匹配。是否最好在HTTP标头中发送?或者使用唯一文件夹slug作为键的会话?
欢迎所有建议,干杯!
答案 0 :(得分:0)
您的REST API应该创建一个登录服务,该服务将使用用户名/密码,并使用授权令牌进行响应以用于后续请求。Authorization: token 98wuun8EIU23H8D3D87dow7dh
此令牌也应该具有到期日期需要刷新,您的应用程序不应在资源请求本身上传递用户名/密码。
身份验证令牌本身应该对每个用户都是唯一的,并且在刷新时应该生成一个全新的唯一令牌。然后您的令牌可用于识别后端的用户。
刷新可以通过刷新令牌完成,也可以要求用户再次输入用户名/密码并请求新的Auth令牌。
还要确保您的生产环境使用SSL来减少中间人攻击。