Skip to content
This repository was archived by the owner on May 26, 2020. It is now read-only.

Commit 13ca172

Browse files
committed
refactoring - updated jwt_get_secret_key to accept whole payload
1 parent 32067ef commit 13ca172

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

rest_framework_jwt/utils.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
from rest_framework_jwt.settings import api_settings
1313

1414

15-
def jwt_get_secret_key(user_id=None):
15+
def jwt_get_secret_key(payload=None):
1616
"""
1717
For enchanced security you may use secret key on user itself.
1818
@@ -23,7 +23,7 @@ def jwt_get_secret_key(user_id=None):
2323
"""
2424
if api_settings.JWT_GET_USER_SECRET_KEY:
2525
User = get_user_model() # noqa: N806
26-
user = User.objects.get(pk=user_id)
26+
user = User.objects.get(pk=payload.get('user_id'))
2727
key = str(api_settings.JWT_GET_USER_SECRET_KEY(user))
2828
return key
2929
return api_settings.JWT_SECRET_KEY
@@ -87,7 +87,7 @@ def jwt_get_username_from_payload_handler(payload):
8787

8888

8989
def jwt_encode_handler(payload):
90-
key = api_settings.JWT_PRIVATE_KEY or jwt_get_secret_key(payload.get('user_id'))
90+
key = api_settings.JWT_PRIVATE_KEY or jwt_get_secret_key(payload)
9191
return jwt.encode(
9292
payload,
9393
key,
@@ -101,7 +101,7 @@ def jwt_decode_handler(token):
101101
}
102102
# get user from token, BEFORE verification, to get user secret key
103103
unverified_payload = jwt.decode(token, None, False)
104-
secret_key = jwt_get_secret_key(unverified_payload.get('user_id'))
104+
secret_key = jwt_get_secret_key(unverified_payload)
105105
return jwt.decode(
106106
token,
107107
api_settings.JWT_PUBLIC_KEY or secret_key,

0 commit comments

Comments
 (0)