Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我如何知道何时请求从外部源(本例中为信号线)提供刷新的JWT令牌_Python - Fatal编程技术网

Python 我如何知道何时请求从外部源(本例中为信号线)提供刷新的JWT令牌

Python 我如何知道何时请求从外部源(本例中为信号线)提供刷新的JWT令牌,python,Python,首先,请理解,我在前端堆栈开发方面几乎没有接受过正式培训。我必须在工作中学到很多东西,我们唯一有经验的开发人员大约一年前离开了,所以我很可能不知道我应该知道什么 我目前的cunumdrum是,我不知道如何检查我没有创建的JWT令牌何时过期。我怎么知道?因为我不知道产生它的秘密。我可能只是记录我何时发出令牌请求,以及我发出超时的时间,但我想知道在我发出请求的时间和令牌实际过期的时间之间是否存在断开连接 我问,因为我不想随机调用刷新这些令牌中的任何一个。只有当它们到期时 如果有帮助的话,我们将在后端

首先,请理解,我在前端堆栈开发方面几乎没有接受过正式培训。我必须在工作中学到很多东西,我们唯一有经验的开发人员大约一年前离开了,所以我很可能不知道我应该知道什么

我目前的cunumdrum是,我不知道如何检查我没有创建的JWT令牌何时过期。我怎么知道?因为我不知道产生它的秘密。我可能只是记录我何时发出令牌请求,以及我发出超时的时间,但我想知道在我发出请求的时间和令牌实际过期的时间之间是否存在断开连接

我问,因为我不想随机调用刷新这些令牌中的任何一个。只有当它们到期时

如果有帮助的话,我们将在后端使用Python3.6,并请求为令牌发送信号线


提前感谢

JWT令牌通常有三个部分,每个部分都是base64编码的。有效载荷部分通常自1970-01-01起将失效日期保留为秒

这可以是一个令牌:

eyjhbgcioiaisfmyntyilcj0exaioiasilduin0.eyjlehaoiaxntmzyxndexlcj1c2vybmftzsi6icjbymugtgluy29sbininyzwzlcnzf91c2vybmftzsi6icjbymvmaubtawnyb3nvznqy29tin0.c2rmc2fkzmffzzmmrzyxnmza

每个部分(由点分隔)都可以进行base64解码(如下所示):

  • 标头-通常为算法和令牌类型,例如:
  • 有效负载-令牌包含的任何内容,通常是关于用户ID和令牌过期日期的一些信息,例如:
  • 签名:一些二进制值
  • 令牌通常甚至会提供足够的信息来检索签名密钥。有关更多详细信息,请参阅上的答案,或深入了解以获得全面理解

        {
          "alg": "HS256",
          "typ": "JWT"
        }
    
        {
          "exp": 1536361411,
          "username": "Abe Lincoln",
          "preferred_username": "AbeLi@microsoft.com"
        }