密码保护某些端点/资源


Password protecting certain endpoints/resources

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

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

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

开发人员会向http://my-website/api/v1/folders/1后端以JSON的形式返回资源。

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

欢迎所有建议,干杯!

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

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

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

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