如何在秘密密钥的帮助下生成令牌?

时间:2017-03-06 11:28:58

标签: javascript authentication token

在基于令牌的身份验证中,用户将通过用户名和密码形式的某种形式的验证来验证自己。服务器需要验证用户凭据。一旦服务器验证用户凭证,服务器就会向用户发出签名的令牌。服务器可以利用该秘密生成令牌。 我在一些config.js文件中给出了一个密钥

module.exports = {
    'secretKey': '12345-67890-09876-54321',
    'mongoUrl' : 'mongodb://localhost:27017/conFusion'
}

所以我想知道的是服务器如何利用这个密钥来创建和验证JSON Web令牌......

1 个答案:

答案 0 :(得分:1)

有很多关于JWT and how they work的文章,所以我会跳过这部分,因为我不想只粘贴整篇文章。

JWT的好处是您可以将数据放入其中(通常是关于您的用户的信息)。 这样,您就不必查询数据库以对其进行身份验证,这将使您的API /服务的响应时间更快。

因为您将信息放入您的令牌(可能是合理的数据,甚至只是邮件和名称),您必须加密它,除非您可以阅读它。

密钥:您可以将其视为门钥匙(是的,就像在现实世界中一样)。它允许您加密(关闭门)您的数据,以便没有人能够理解它并解密它(打开门)以便您可以阅读它。
由于密钥在您的服务器上,并且您是唯一可以访问它的密钥,因此您是唯一可以解密和读取JWT的人。

这只是对它如何工作的概述,我希望它能够很好地解释密钥的作用,有关JWT的更多信息和细节,this article是好的。


最好的问候,