Skip to content

Commit 1c01da7

Browse files
authored
Fix unhashed secret to work with request body authentication. (#1334)
1 parent 41591ad commit 1c01da7

File tree

3 files changed

+14
-1
lines changed

3 files changed

+14
-1
lines changed

AUTHORS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ Alan Crosswell
1515
Alejandro Mantecon Guillen
1616
Aleksander Vaskevich
1717
Alessandro De Angelis
18+
Alex Manning
1819
Alex Szabó
1920
Allisson Azevedo
2021
Andrea Greco

oauth2_provider/oauth2_validators.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ def _authenticate_request_body(self, request):
190190
if self._load_application(client_id, request) is None:
191191
log.debug("Failed body auth: Application %s does not exists" % client_id)
192192
return False
193-
elif not check_password(client_secret, request.client.client_secret):
193+
elif not self._check_secret(client_secret, request.client.client_secret):
194194
log.debug("Failed body auth: wrong client secret %s" % client_secret)
195195
return False
196196
else:

tests/test_oauth2_validators.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,18 @@ def test_authenticate_request_body(self):
100100
self.blank_secret_request.client_secret = "wrong_client_secret"
101101
self.assertFalse(self.validator._authenticate_request_body(self.blank_secret_request))
102102

103+
def test_authenticate_request_body_unhashed_secret(self):
104+
self.application.client_secret = CLEARTEXT_SECRET
105+
self.application.hash_client_secret = False
106+
self.application.save()
107+
108+
self.request.client_id = "client_id"
109+
self.request.client_secret = CLEARTEXT_SECRET
110+
self.assertTrue(self.validator._authenticate_request_body(self.request))
111+
112+
self.application.hash_client_secret = True
113+
self.application.save()
114+
103115
def test_extract_basic_auth(self):
104116
self.request.headers = {"HTTP_AUTHORIZATION": "Basic 123456"}
105117
self.assertEqual(self.validator._extract_basic_auth(self.request), "123456")

0 commit comments

Comments
 (0)