在标头中发送种子密钥与仅HTTP cookie

时间:2019-02-04 22:49:47

标签: security authentication cookies login

我想知道在系统中发送会话密钥的最佳选择。

在我的系统中,有一个API服务器,供Web浏览器,命令行界面和桌面应用程序使用。它通过查看Authorization HTTP标头对用户进行身份验证。

当前,浏览器将会话密钥存储在localStorage中,并将其附加在Authorization标头中,用于需要登录的请求。但是,有人指出,一种更安全的方式来存储会话密钥之类的机密方法是使用仅HTTP cookie。

问题是Web浏览器客户端将无法读取仅HTTP cookie,并将会话密钥放在HTTP标头中。

鉴于这种情况,我正在考虑扩展API服务器以使用Authorzation标头或cookie之一来授权用户。这是可行的选择吗,还有其他选择吗?

1 个答案:

答案 0 :(得分:2)

您是对的,Cookie和授权标头不兼容。正如您所指出的,您正在研究两个用例:一个用于浏览器使用,另一个用于API(cli,桌面应用程序)。

如果您想通过一个身份验证方案同时支持这两种方法,则需要做更多的工作。作为一个很好的经验法则,浏览器可以很好地使用Cookie,并且易于安全地进行设置。您应该选择使用浏览器进行基于cookie的会话管理。

  

鉴于这种情况,我正在考虑将API服务器扩展到   使用授权标头或cookie之一来授权用户。是   这是一个可行的选择,还有其他选择吗?

是的,这是可行的,它将使您的浏览器用例更加安全。至于替代方案,我整理了一个Web Authentication Guide,它将极大地帮助您探索您的选择。