🚨 Latest Research:Tanstack npm Packages Compromised in Ongoing Mini Shai-Hulud Supply-Chain Attack.Learn More
Socket
Book a DemoSign in
Socket

python-jwt

Package Overview
Dependencies
Maintainers
1
Versions
45
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

python-jwt - pypi Package Compare versions

Comparing version
3.3.1
to
3.3.2
+1
-1
docs/_build/html/_static/documentation_options.js
var DOCUMENTATION_OPTIONS = {
URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
VERSION: '3.3.1',
VERSION: '3.3.2',
LANGUAGE: 'None',

@@ -5,0 +5,0 @@ COLLAPSE_INDEX: false,

@@ -8,3 +8,3 @@

<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Index &#8212; python-jwt 3.3.1 documentation</title>
<title>Index &#8212; python-jwt 3.3.2 documentation</title>
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />

@@ -28,3 +28,3 @@ <link rel="stylesheet" href="_static/nature.css" type="text/css" />

>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">python-jwt 3.3.1 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="index.html">python-jwt 3.3.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">Index</a></li>

@@ -126,3 +126,3 @@ </ul>

>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">python-jwt 3.3.1 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="index.html">python-jwt 3.3.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">Index</a></li>

@@ -129,0 +129,0 @@ </ul>

@@ -8,3 +8,3 @@

<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>python_jwt module &#8212; python-jwt 3.3.1 documentation</title>
<title>python_jwt module &#8212; python-jwt 3.3.2 documentation</title>
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />

@@ -28,3 +28,3 @@ <link rel="stylesheet" href="_static/nature.css" type="text/css" />

>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="#">python-jwt 3.3.1 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="#">python-jwt 3.3.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">python_jwt module</a></li>

@@ -208,3 +208,3 @@ </ul>

>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="#">python-jwt 3.3.1 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="#">python-jwt 3.3.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">python_jwt module</a></li>

@@ -211,0 +211,0 @@ </ul>

@@ -8,3 +8,3 @@

<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Python Module Index &#8212; python-jwt 3.3.1 documentation</title>
<title>Python Module Index &#8212; python-jwt 3.3.2 documentation</title>
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />

@@ -35,3 +35,3 @@ <link rel="stylesheet" href="_static/nature.css" type="text/css" />

>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">python-jwt 3.3.1 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="index.html">python-jwt 3.3.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">Python Module Index</a></li>

@@ -94,3 +94,3 @@ </ul>

>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">python-jwt 3.3.1 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="index.html">python-jwt 3.3.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">Python Module Index</a></li>

@@ -97,0 +97,0 @@ </ul>

@@ -8,3 +8,3 @@

<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Search &#8212; python-jwt 3.3.1 documentation</title>
<title>Search &#8212; python-jwt 3.3.2 documentation</title>
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />

@@ -34,3 +34,3 @@ <link rel="stylesheet" href="_static/nature.css" type="text/css" />

>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">python-jwt 3.3.1 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="index.html">python-jwt 3.3.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">Search</a></li>

@@ -86,3 +86,3 @@ </ul>

>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">python-jwt 3.3.1 documentation</a> &#187;</li>
<li class="nav-item nav-item-0"><a href="index.html">python-jwt 3.3.2 documentation</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">Search</a></li>

@@ -89,0 +89,0 @@ </ul>

@@ -55,3 +55,3 @@ # -*- coding: utf-8 -*-

# The full version, including alpha/beta/rc tags.
release = '3.3.1'
release = '3.3.2'

@@ -58,0 +58,0 @@ # The language for content autogenerated by Sphinx. Refer to documentation

Metadata-Version: 2.1
Name: python_jwt
Version: 3.3.1
Version: 3.3.2
Summary: Module for generating and verifying JSON Web Tokens

@@ -5,0 +5,0 @@ Home-page: https://github.com/davedoesdev/python-jwt

Metadata-Version: 2.1
Name: python-jwt
Version: 3.3.1
Version: 3.3.2
Summary: Module for generating and verifying JSON Web Tokens

@@ -5,0 +5,0 @@ Home-page: https://github.com/davedoesdev/python-jwt

@@ -9,3 +9,3 @@ import os

name='python_jwt',
version='3.3.1',
version='3.3.2',
description="Module for generating and verifying JSON Web Tokens",

@@ -12,0 +12,0 @@ long_description=read('README.md'),

@@ -35,3 +35,3 @@ /*jslint node: true */

async function verify(time, sjwt, iat_skew, key, alg) {
const { header, payload } = jwtVerify(sjwt, await import_key(key, alg), {
const { protectedHeader, payload } = await jwtVerify(sjwt, await import_key(key, alg), {
algorithms: [ alg ],

@@ -41,3 +41,3 @@ clockTolerance: iat_skew,

});
process.stdout.write(JSON.stringify([header, payload]));
process.stdout.write(JSON.stringify([protectedHeader, payload]));
}

@@ -44,0 +44,0 @@

@@ -22,3 +22,3 @@ """ test generation and verification of tokens """

#pylint: disable=R0912
#pylint: disable=R0912,too-many-locals,too-many-statements
def _setup(alg, priv_type, pub_type, exp, iat_skew, nbf, jti_size, keyless, expected):

@@ -30,2 +30,47 @@ """ setup tests """

tick = timedelta(milliseconds=15000 if pub_type == 'jose' and exp < iat_skew else 1500)
class ClaimsChecker(Vows.Context):
""" Check claims in token """
def topic(self, token):
""" Get just the claims """
_, claims = token
return claims
def payload_keys_should_be_as_expected(self, claims):
""" Check keys """
expect(list(claims.keys())).to_be_like(keys if jti_size or callable(privk) else [key for key in keys if key != 'jti'])
def payload_values_should_match(self, claims):
""" Check values """
for x in payload: #pylint: disable=consider-using-dict-items
expect(claims[x]).to_equal(payload[x])
def jti_size_should_be_as_expected(self, claims):
""" Check jti size """
if jti_size and not callable(privk): # don't assume format of externally-generated JTIs
expect(len(base64url_decode(claims['jti']))).to_equal(jti_size)
class UniqueClaimsChecker(ClaimsChecker):
""" Check JTIs in token are unique """
def jtis_should_be_unique(self, claims):
""" Check jtis """
if jti_size or callable(privk):
expect(is_string(claims['jti'])).to_be_true()
expect(jtis).Not.to_include(claims['jti'])
jtis[claims['jti']] = True
class HeaderChecker(Vows.Context):
""" Check header in token """
def topic(self, token):
""" Get just the header """
header, _ = token
return header
def header_should_be_as_expected(self, header):
""" Check header """
expect(header).to_equal({
'alg': 'none' if keyless else alg,
'typ': 'JWT'
})
@Vows.batch #pylint: disable=unused-variable

@@ -66,37 +111,8 @@ class GenerateJWT(Vows.Context): #pylint: disable=unused-variable

class CheckClaims(Vows.Context):
""" Check claims in token """
def topic(self, token):
""" Get just the claims """
_, claims = token
return claims
def payload_keys_should_be_as_expected(self, claims):
""" Check keys """
expect(list(claims.keys())).to_be_like(keys if jti_size or callable(privk) else [key for key in keys if key != 'jti'])
def payload_values_should_match(self, claims):
""" Check values """
for x in payload: #pylint: disable=consider-using-dict-items
expect(claims[x]).to_equal(payload[x])
def jtis_should_be_unique(self, claims):
""" Check jtis """
if jti_size or callable(privk):
expect(is_string(claims['jti'])).to_be_true()
expect(jtis).Not.to_include(claims['jti'])
jtis[claims['jti']] = True
def jti_size_should_be_as_expected(self, claims):
""" Check jti size """
if jti_size and not callable(privk): # don't assume format of externally-generated JTIs
expect(len(base64url_decode(claims['jti']))).to_equal(jti_size)
def header_should_be_as_expected(self, token):
class CheckClaims(UniqueClaimsChecker):
""" Check claims """
pass
class CheckHeader(HeaderChecker):
""" Check header """
header, _ = token
expect(header).to_equal({
'alg': 'none' if keyless else alg,
'typ': 'JWT'
})
pass

@@ -111,10 +127,20 @@ class VerifyJWTWithGeneratedKey(Vows.Context):

pubk = None if keyless else generated_keys[alg]
return jwt.verify_jwt(sjwt, pubk, ['none'] if keyless else [alg],
timedelta(seconds=iat_skew))
try:
return jwt.verify_jwt(sjwt, pubk, ['none'] if keyless else [alg],
timedelta(seconds=iat_skew))
except:
if keyless and expected:
print(alg, priv_type, pub_type, exp, iat_skew, nbf, keyless, expected)
raise
def should_fail_to_verify(self, r):
""" Should fail to verify with minted key """
if keyless and expected:
expect(r).to_be_instance_of(tuple)
else:
if keyless and expected:
class CheckClaims(ClaimsChecker):
""" Check claims """
pass
class CheckHeader(HeaderChecker):
""" Check header """
pass
else:
def should_fail_to_verify(self, r):
""" Should fail to verify with minted key """
expect(r).to_be_an_error()

@@ -134,12 +160,13 @@

def should_verify_as_expected(self, r):
""" Check verified or not, as per expected arg """
try:
if expected:
expect(r).to_be_instance_of(tuple)
else:
expect(r).to_be_an_error()
except:
print(alg, priv_type, pub_type, exp, iat_skew, nbf, keyless, expected)
raise
if expected:
class CheckClaims(ClaimsChecker):
""" Check claims """
pass
class CheckHeader(HeaderChecker):
""" Check header """
pass
else:
def should_fail_to_verify(self, r):
""" Should fail to verify, per expected arg """
expect(r).to_be_an_error()

@@ -146,0 +173,0 @@ #pylint: disable=W0621,dangerous-default-value

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet