实施自定义JWT工作流程

时间:2018-07-05 07:25:06

标签: ios node.js security authentication jwt

我将nodejs用于rest api,并且客户端应用程序同时在ios和android中使用。

通常,服务器会生成或签名JWT,然后将其发送到设备。设备将其保存在本地,并用于后续请求。

但是我打算在我的应用程序中实现自定义JWT方案。

计划是为设备本身中的每个请求创建一个令牌,并在服务器中对其进行验证。

因此,当黑客窃取密钥时,由于JWT无效,他甚至无法使用一次。

此外,令牌发行客户端无法再次请求使用相同的令牌。

这项工作还是我应该遵循JWT实施的一般标准。有专家的想法吗?

如果是,我有几个问题

1)从客户端设备检索密钥(或背后的逻辑)是否可行并损害安全性

2)服务器性能是否会降低

1 个答案:

答案 0 :(得分:0)

从客户端设备检索密钥不是一个好习惯,这将来会成为安全威胁。

如果要在您的情况下创建自定义JWT,则可以开发一个rest服务并将其命名为auth服务,该服务将用于身份验证。您可以使用必要的数据调用身份验证服务,并在后端可以验证传递的详细信息。

此后,您可以相应地使用到期时间创建自己的JWT,并将其作为响应传递,可用于其他rest调用,直到到期为止。