我想知道在我的系统中发送会话密钥的最佳选择。
在我的系统中,有一个 API 服务器可供 Web 浏览器、命令行界面和桌面应用程序使用。它通过查看用户的身份来验证用户的身份Authorization
HTTP 标头。
目前,浏览器将会话密钥存储在 localStorage 中,并将其附加在Authorization
需要登录的请求的标头。然而,有人指出,存储会话密钥等秘密的更安全的方法是使用 HTTP-Only cookie。
问题是 Web 浏览器客户端将无法读取 HTTP-Only cookie 并将会话密钥放入 HTTP 标头中。
鉴于这种情况,我正在考虑扩展 API 服务器以使用其中之一Authorzation
header 或 cookie 来授权用户。这是一个可行的选择吗?还有其他选择吗?
你是对的,Cookie 和授权标头开箱即用不兼容。正如您所指出的,您正在查看两种用例:一种用于浏览器使用,另一种用于 API(cli、桌面应用程序)。
如果您想通过单一身份验证方案支持两者,则需要做更多工作。根据经验,浏览器可以很好地使用 cookie,并且可以轻松安全地进行设置。您应该选择浏览器基于 cookie 的会话管理。
鉴于这种情况,我正在考虑将 API 服务器扩展到
使用授权标头或 cookie 之一来授权用户。是
这是一个可行的选择,还有其他选择吗?
是的,这是可行的,它将使您的浏览器用例更加安全。至于替代方案,我整理了一个网页认证指南 https://www.securitydrops.com/the-web-api-authentication-guide/这将极大地帮助您探索您的选择。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)