30
30
RefreshToken = get_refresh_token_model ()
31
31
32
32
CLEARTEXT_SECRET = "1234567890abcdefghijklmnopqrstuvwxyz"
33
+ CLEARTEXT_BLANK_SECRET = ""
33
34
34
35
35
36
@contextlib .contextmanager
@@ -61,11 +62,25 @@ def setUp(self):
61
62
)
62
63
self .request .client = self .application
63
64
65
+ self .blank_secret_request = mock .MagicMock (wraps = Request )
66
+ self .blank_secret_request .user = self .user
67
+ self .blank_secret_request .grant_type = "not client"
68
+ self .blank_secret_application = Application .objects .create (
69
+ client_id = "blank_secret_client_id" ,
70
+ client_secret = CLEARTEXT_BLANK_SECRET ,
71
+ user = self .user ,
72
+ client_type = Application .CLIENT_PUBLIC ,
73
+ authorization_grant_type = Application .GRANT_PASSWORD ,
74
+ )
75
+ self .blank_secret_request .client = self .blank_secret_application
76
+
64
77
def tearDown (self ):
65
78
self .application .delete ()
66
79
67
80
def test_authenticate_request_body (self ):
68
81
self .request .client_id = "client_id"
82
+ self .assertFalse (self .validator ._authenticate_request_body (self .request ))
83
+
69
84
self .request .client_secret = ""
70
85
self .assertFalse (self .validator ._authenticate_request_body (self .request ))
71
86
@@ -75,6 +90,15 @@ def test_authenticate_request_body(self):
75
90
self .request .client_secret = CLEARTEXT_SECRET
76
91
self .assertTrue (self .validator ._authenticate_request_body (self .request ))
77
92
93
+ self .blank_secret_request .client_id = "blank_secret_client_id"
94
+ self .assertTrue (self .validator ._authenticate_request_body (self .blank_secret_request ))
95
+
96
+ self .blank_secret_request .client_secret = CLEARTEXT_BLANK_SECRET
97
+ self .assertTrue (self .validator ._authenticate_request_body (self .blank_secret_request ))
98
+
99
+ self .blank_secret_request .client_secret = "wrong_client_secret"
100
+ self .assertFalse (self .validator ._authenticate_request_body (self .blank_secret_request ))
101
+
78
102
def test_extract_basic_auth (self ):
79
103
self .request .headers = {"HTTP_AUTHORIZATION" : "Basic 123456" }
80
104
self .assertEqual (self .validator ._extract_basic_auth (self .request ), "123456" )
0 commit comments