Skip to content

Commit 6d2e93b

Browse files
authored
Merge pull request #63 from oslokommune/DP-1721-upgrade-pyjwt
DP-1721 Upgrade to PyJWT 2
2 parents 5f6512d + 184c066 commit 6d2e93b

File tree

5 files changed

+52
-23
lines changed

5 files changed

+52
-23
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## ?.?.?
2+
3+
* PyJWT 2.0.0 or above is now required.
4+
15
## 0.6.2
26

37
* Authentication is no longer necessary for downloading public ("green")

okdata/sdk/auth/util.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ def is_expired(timestamp):
1919

2020

2121
def decode_token(token):
22-
return jwt.decode(token, verify=False, algorithms=["HS256"])
22+
return jwt.decode(token, options={"verify_signature": False})
2323

2424

2525
def get_expired_timestamp(token):

requirements.txt

Lines changed: 42 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,26 +4,53 @@
44
#
55
# pip-compile
66
#
7-
attrs==19.3.0 # via jsonschema
8-
certifi==2019.9.11 # via requests
9-
chardet==3.0.4 # via requests
10-
ecdsa==0.13.3 # via python-jose
11-
future==0.18.2 # via python-jose
12-
idna==2.8 # via requests
13-
importlib-metadata==1.3.0 # via jsonschema
7+
attrs==19.3.0
8+
# via jsonschema
9+
certifi==2019.9.11
10+
# via requests
11+
chardet==3.0.4
12+
# via requests
13+
ecdsa==0.13.3
14+
# via python-jose
15+
future==0.18.2
16+
# via python-jose
17+
idna==2.8
18+
# via requests
19+
importlib-metadata==1.3.0
20+
# via jsonschema
1421
jsonschema==3.2.0
15-
more-itertools==8.0.2 # via zipp
22+
# via okdata-sdk (setup.py)
23+
more-itertools==8.0.2
24+
# via zipp
1625
prettytable==0.7.2
17-
pyasn1==0.4.7 # via rsa
18-
pyjwt==1.7.1
19-
pyrsistent==0.15.6 # via jsonschema
20-
python-jose==3.0.1 # via python-keycloak
26+
# via okdata-sdk (setup.py)
27+
pyasn1==0.4.7
28+
# via rsa
29+
pyjwt==2.0.1
30+
# via okdata-sdk (setup.py)
31+
pyrsistent==0.15.6
32+
# via jsonschema
33+
python-jose==3.0.1
34+
# via python-keycloak
2135
python-keycloak==0.18.0
36+
# via okdata-sdk (setup.py)
2237
requests==2.22.0
23-
rsa==4.0 # via python-jose
24-
six==1.12.0 # via jsonschema, pyrsistent, python-jose
38+
# via
39+
# okdata-sdk (setup.py)
40+
# python-keycloak
41+
rsa==4.0
42+
# via python-jose
43+
six==1.12.0
44+
# via
45+
# jsonschema
46+
# pyrsistent
47+
# python-jose
2548
urllib3==1.25.6
26-
zipp==0.6.0 # via importlib-metadata
49+
# via
50+
# okdata-sdk (setup.py)
51+
# requests
52+
zipp==0.6.0
53+
# via importlib-metadata
2754

2855
# The following packages are considered to be unsafe in a requirements file:
2956
# setuptools

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
"urllib3",
2323
"PrettyTable",
2424
"python-keycloak",
25-
"PyJWT",
25+
"PyJWT>=2.0.0",
2626
"jsonschema",
2727
],
2828
data_files=[

tests/auth/client_credentials_test_utils.py

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111

1212
expired = {"exp": datetime.timestamp(expired_time)}
1313

14-
not_expired_token = jwt.encode(not_expired, "secret", algorithm="HS256").decode("utf-8")
15-
expired_token = jwt.encode(expired, "secret", algorithm="HS256").decode("utf-8")
14+
not_expired_token = jwt.encode(not_expired, "secret", algorithm="HS256")
15+
expired_token = jwt.encode(expired, "secret", algorithm="HS256")
1616

1717
default_test_client_credentials = {
1818
"access_token": not_expired_token,
@@ -24,7 +24,5 @@
2424

2525
from_cache_not_expired_token = jwt.encode(
2626
from_cache_not_expired, "secret", algorithm="HS256"
27-
).decode("utf-8")
28-
from_cache_expired_token = jwt.encode(
29-
from_cache_expired, "secret", algorithm="HS256"
30-
).decode("utf-8")
27+
)
28+
from_cache_expired_token = jwt.encode(from_cache_expired, "secret", algorithm="HS256")

0 commit comments

Comments
 (0)