3030RefreshToken = get_refresh_token_model ()
3131
3232CLEARTEXT_SECRET = "1234567890abcdefghijklmnopqrstuvwxyz"
33+ CLEARTEXT_BLANK_SECRET = ""
3334
3435
3536@contextlib .contextmanager
@@ -61,11 +62,25 @@ def setUp(self):
6162 )
6263 self .request .client = self .application
6364
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+
6477 def tearDown (self ):
6578 self .application .delete ()
6679
6780 def test_authenticate_request_body (self ):
6881 self .request .client_id = "client_id"
82+ self .assertFalse (self .validator ._authenticate_request_body (self .request ))
83+
6984 self .request .client_secret = ""
7085 self .assertFalse (self .validator ._authenticate_request_body (self .request ))
7186
@@ -75,6 +90,15 @@ def test_authenticate_request_body(self):
7590 self .request .client_secret = CLEARTEXT_SECRET
7691 self .assertTrue (self .validator ._authenticate_request_body (self .request ))
7792
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+
78102 def test_extract_basic_auth (self ):
79103 self .request .headers = {"HTTP_AUTHORIZATION" : "Basic 123456" }
80104 self .assertEqual (self .validator ._extract_basic_auth (self .request ), "123456" )
0 commit comments