HTTP授权标头 – 承载令牌安全性

我正在构建一个将从Web和移动平台上使用的API.

我想要一些帮助和建议,以提高我的持票人令牌授权.

认证

目前的身份验证非常简单.我会假设发送的凭据是正确的:

>向API端点发送电子邮件和密码
>存储具有到期日期的用户令牌
>使用用户授权令牌回复客户端

授权

然后,任何其他行动授权包括:

>发送授权承载“令牌”标头
>确定是否允许令牌所有者执行操作
>完成操作

关心

我担心的是,如果有人只查看请求标头,则可以轻松地发现承载令牌.这将允许用户从任何其他客户端做任何有害请求.

大多数可以故意做坏的请求在应用程序上下文中完全有效.因此,通过请求参数过滤它们并不容易.

可能的修复

我一直在考虑发送标题的可能性:

>用户授权令牌
>发送日期或任何其他参数
>哈希(令牌,其他参数)

在服务器上,我将单独比较每个参数,然后比较加密的哈希值.

因此,如果有人发送具有不同日期的相同哈希,则很容易将其检测为入侵者.

您还有其他建议可以让沟通更安全吗?

最佳答案 您考虑使用日期和哈希的解决方案不会对基本对手添加任何安全性.令牌的到期应该在数据库中的服务器端进行管理.

Oauth 2威胁模型告诉您如何在section 4.6.1中保护您的令牌.

点赞