@@ -84,15 +84,6 @@ def verify_url(url, urlset):
8484 return False
8585
8686
87- def client_secret_expiration_time (delta = 86400 ):
88- """
89- Returns client_secret expiration time.
90-
91- Split for easy customization.
92- """
93- return utc_time_sans_frac () + delta
94-
95-
9687def secret (seed , sid ):
9788 msg = "{}{:.6f}{}" .format (time .time (), random (), sid ).encode ("utf-8" )
9889 csum = hmac .new (seed , msg , hashlib .sha224 )
@@ -128,7 +119,7 @@ class Registration(Endpoint):
128119 name = "registration"
129120
130121 # default
131- # response_placement = 'body'dcfr
122+ # response_placement = 'body'
132123
133124 def match_client_request (self , request ):
134125 _context = self .endpoint_context
@@ -143,7 +134,7 @@ def match_client_request(self, request):
143134 raise CapabilitiesMisMatch (_pref )
144135 else :
145136 if not set (request [_pref ]).issubset (
146- set (_context .provider_info [_prov ])
137+ set (_context .provider_info [_prov ])
147138 ):
148139 raise CapabilitiesMisMatch (_pref )
149140
@@ -165,8 +156,8 @@ def do_client_registration(self, request, client_id, ignore=None):
165156 err = ClientRegistrationErrorResponse (
166157 error = "invalid_configuration_parameter" ,
167158 error_description = "post_logout_redirect_uris "
168- "contains "
169- "fragment" ,
159+ "contains "
160+ "fragment" ,
170161 )
171162 return err
172163 base , query = splitquery (uri )
@@ -338,16 +329,22 @@ def add_registration_api(self, cinfo, client_id, context):
338329
339330 context .registration_access_token [_rat ] = client_id
340331
332+ def client_secret_expiration_time (self ):
333+ """
334+ Returns client_secret expiration time.
335+ """
336+ if not self .kwargs .get ("client_secret_expires" , True ):
337+ return 0
338+
339+ _expiration_time = self .kwargs .get ("client_secret_expires_in" , 2592000 )
340+ return utc_time_sans_frac () + _expiration_time
341+
341342 def add_client_secret (self , cinfo , client_id , context ):
342- delta_int = int (self .kwargs .get ("client_secret_expiration_time" , 0 ))
343- args = {"delta" : delta_int } if delta_int else {}
344343 client_secret = secret (context .seed , client_id )
345- cinfo .update (
346- {
347- "client_secret" : client_secret ,
348- "client_secret_expires_at" : client_secret_expiration_time (** args ),
349- }
350- )
344+ cinfo ["client_secret" ] = client_secret
345+ _eat = self .client_secret_expiration_time ()
346+ if _eat :
347+ cinfo ["client_secret_expires_at" ] = _eat
351348
352349 return client_secret
353350
0 commit comments