【问题标题】:How a token is generated with the help of secret key?如何在密钥的帮助下生成令牌?
【发布时间】:2017-03-06 11:28:57
【问题描述】:

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

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

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

【问题讨论】:

    标签: javascript authentication token


    【解决方案1】:

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

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

    因为您将信息放入您的令牌(可能是敏感数据,甚至只是邮件和姓名),所以您必须对其进行加密,以便除了您之外没有人可以阅读它。

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

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


    最好的问候,

    【讨论】:

      猜你喜欢
      • 2018-01-21
      • 2018-09-29
      • 2018-03-10
      • 2013-01-23
      • 2019-11-01
      • 2022-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多