@@ -66,6 +66,7 @@ def authenticate(self, username=None, password=None):
6666# Two regular django views to interact with the login system
6767####
6868
69+
6970# Handle login requests by sending them off to the main site
7071def login (request ):
7172 if 'next' in request .GET :
@@ -79,11 +80,14 @@ def login(request):
7980 encryptor = AES .new (SHA .new (settings .SECRET_KEY .encode ('ascii' )).digest ()[:16 ], AES .MODE_CBC , iv )
8081 cipher = encryptor .encrypt (s .encode ('ascii' ) + b' ' * (16 - (len (s ) % 16 ))) # pad to 16 bytes
8182
82- return HttpResponseRedirect ("%s?d=%s$%s" % (
83- settings .PGAUTH_REDIRECT ,
84- base64 .b64encode (iv , b"-_" ).decode ('utf8' ),
85- base64 .b64encode (cipher , b"-_" ).decode ('utf8' ),
86- ))
83+ return HttpResponseRedirect (
84+ "%s?d=%s$%s"
85+ % (
86+ settings .PGAUTH_REDIRECT ,
87+ base64 .b64encode (iv , b"-_" ).decode ('utf8' ),
88+ base64 .b64encode (cipher , b"-_" ).decode ('utf8' ),
89+ )
90+ )
8791 else :
8892 return HttpResponseRedirect (settings .PGAUTH_REDIRECT )
8993
@@ -110,9 +114,9 @@ def auth_receive(request):
110114
111115 # Set up an AES object and decrypt the data we received
112116 try :
113- decryptor = AES .new (base64 . b64decode ( settings . PGAUTH_KEY ),
114- AES .MODE_CBC ,
115- base64 . b64decode ( str ( request . GET [ 'i' ]), "-_" ) )
117+ decryptor = AES .new (
118+ base64 . b64decode ( settings . PGAUTH_KEY ), AES .MODE_CBC , base64 . b64decode ( str ( request . GET [ 'i' ]), "-_" )
119+ )
116120 s = decryptor .decrypt (base64 .b64decode (str (request .GET ['d' ]), "-_" )).rstrip (b' ' ).decode ('utf8' )
117121 except UnicodeDecodeError :
118122 return HttpResponse ("Badly encoded data found" , 400 )
@@ -126,7 +130,7 @@ def auth_receive(request):
126130 return HttpResponse ("Invalid encrypted data received." , status = 400 )
127131
128132 # Check the timestamp in the authentication
129- if ( int (data ['t' ][0 ]) < time .time () - 10 ) :
133+ if int (data ['t' ][0 ]) < time .time () - 10 :
130134 return HttpResponse ("Authentication token too old." , status = 400 )
131135
132136 # Update the user record (if any)
@@ -153,7 +157,8 @@ def auth_receive(request):
153157 # somehow fix that live, give a proper error message and
154158 # have somebody look at it manually.
155159 if User .objects .filter (email = data ['e' ][0 ]).exists ():
156- return HttpResponse ("""A user with email %s already exists, but with
160+ return HttpResponse (
161+ """A user with email %s already exists, but with
157162a different username than %s.
158163
159164This is almost certainly caused by some legacy data in our database.
@@ -162,7 +167,10 @@ def auth_receive(request):
162167for you.
163168
164169We apologize for the inconvenience.
165- """ % (data ['e' ][0 ], data ['u' ][0 ]), content_type = 'text/plain' )
170+ """
171+ % (data ['e' ][0 ], data ['u' ][0 ]),
172+ content_type = 'text/plain' ,
173+ )
166174
167175 if getattr (settings , 'PGAUTH_CREATEUSER_CALLBACK' , None ):
168176 res = getattr (settings , 'PGAUTH_CREATEUSER_CALLBACK' )(
@@ -176,12 +184,13 @@ def auth_receive(request):
176184 if res :
177185 return res
178186
179- user = User (username = data ['u' ][0 ],
180- first_name = data ['f' ][0 ],
181- last_name = data ['l' ][0 ],
182- email = data ['e' ][0 ],
183- password = 'setbypluginnotasha1' ,
184- )
187+ user = User (
188+ username = data ['u' ][0 ],
189+ first_name = data ['f' ][0 ],
190+ last_name = data ['l' ][0 ],
191+ email = data ['e' ][0 ],
192+ password = 'setbypluginnotasha1' ,
193+ )
185194 user .save ()
186195
187196 auth_user_created_from_upstream .send (sender = auth_receive , user = user )
@@ -193,17 +202,17 @@ def auth_receive(request):
193202 django_login (request , user )
194203
195204 # Signal that we have information about this user
196- auth_user_data_received .send (sender = auth_receive , user = user , userdata = {
197- 'secondaryemails' : data ['se' ][0 ].split (',' ) if 'se' in data else []
198- } )
205+ auth_user_data_received .send (
206+ sender = auth_receive , user = user , userdata = { 'secondaryemails' : data ['se' ][0 ].split (',' ) if 'se' in data else []}
207+ )
199208
200209 # Finally, check of we have a data package that tells us where to
201210 # redirect the user.
202211 if 'd' in data :
203212 (ivs , datas ) = data ['d' ][0 ].split ('$' )
204- decryptor = AES .new (SHA . new ( settings . SECRET_KEY . encode ( 'ascii' )). digest ()[: 16 ],
205- AES .MODE_CBC ,
206- base64 . b64decode ( ivs , b"-_" ) )
213+ decryptor = AES .new (
214+ SHA . new ( settings . SECRET_KEY . encode ( 'ascii' )). digest ()[: 16 ], AES .MODE_CBC , base64 . b64decode ( ivs , b"-_" )
215+ )
207216 s = decryptor .decrypt (base64 .b64decode (datas , "-_" )).rstrip (b' ' ).decode ('utf8' )
208217 try :
209218 rdata = parse_qs (s , strict_parsing = True )
@@ -267,7 +276,8 @@ def _conditionally_update_record(rectype, recordkey, structkey, fieldmap, struct
267276 for u in pushstruct .get ('users' , []):
268277 user = _conditionally_update_record (
269278 User ,
270- 'username' , 'username' ,
279+ 'username' ,
280+ 'username' ,
271281 {
272282 'firstname' : 'first_name' ,
273283 'lastname' : 'last_name' ,
@@ -278,9 +288,20 @@ def _conditionally_update_record(rectype, recordkey, structkey, fieldmap, struct
278288
279289 # Signal that we have information about this user (only if it exists)
280290 if user :
281- auth_user_data_received .send (sender = auth_api , user = user , userdata = {
282- k : u [k ] for k in u .keys () if k not in ['firstname' , 'lastname' , 'email' , ]
283- })
291+ auth_user_data_received .send (
292+ sender = auth_api ,
293+ user = user ,
294+ userdata = {
295+ k : u [k ]
296+ for k in u .keys ()
297+ if k
298+ not in [
299+ 'firstname' ,
300+ 'lastname' ,
301+ 'email' ,
302+ ]
303+ },
304+ )
284305
285306 return HttpResponse ("OK" , status = 200 )
286307
@@ -311,9 +332,7 @@ def user_search(searchterm=None, userid=None):
311332 (ivs , datas ) = r .text .encode ('utf8' ).split (b'&' )
312333
313334 # Decryption time
314- decryptor = AES .new (base64 .b64decode (settings .PGAUTH_KEY ),
315- AES .MODE_CBC ,
316- base64 .b64decode (ivs , "-_" ))
335+ decryptor = AES .new (base64 .b64decode (settings .PGAUTH_KEY ), AES .MODE_CBC , base64 .b64decode (ivs , "-_" ))
317336 s = decryptor .decrypt (base64 .b64decode (datas , "-_" )).rstrip (b' ' ).decode ('utf8' )
318337 j = json .loads (s )
319338
@@ -324,9 +343,11 @@ def user_search(searchterm=None, userid=None):
324343def subscribe_to_user_changes (userid ):
325344 socket .setdefaulttimeout (10 )
326345
327- body = json .dumps ({
328- 'u' : userid ,
329- })
346+ body = json .dumps (
347+ {
348+ 'u' : userid ,
349+ }
350+ )
330351
331352 h = hmac .digest (
332353 base64 .b64decode (settings .PGAUTH_KEY ),
0 commit comments