@@ -99,8 +99,14 @@ def comb_uri(args):
9999 val = []
100100 for base , query_dict in args [param ]:
101101 if query_dict :
102- query_string = urlencode ([(key , v ) for key in query_dict for v in query_dict [key ]])
103- val .append ("%s?%s" % (base , query_string ))
102+ query_string = urlencode (
103+ [
104+ (key , v )
105+ for key in query_dict
106+ for v in query_dict [key ]
107+ ]
108+ )
109+ val .append ("{base}?{query_string}" )
104110 else :
105111 val .append (base )
106112
@@ -139,6 +145,14 @@ class Registration(Endpoint):
139145 # default
140146 # response_placement = 'body'
141147
148+ def __init__ (self , * args , ** kwargs ):
149+ super ().__init__ (* args , ** kwargs )
150+
151+ # Those that use seed wants bytes but I can only store str.
152+ # seed
153+ _seed = kwargs .get ("seed" ) or rndstr (32 )
154+ self .seed = as_bytes (_seed )
155+
142156 def match_client_request (self , request ):
143157 _context = self .server_get ("endpoint_context" )
144158 for _pref , _prov in PREFERENCE2PROVIDER .items ():
@@ -358,7 +372,7 @@ def client_secret_expiration_time(self):
358372 return utc_time_sans_frac () + _expiration_time
359373
360374 def add_client_secret (self , cinfo , client_id , context ):
361- client_secret = secret (context .seed , client_id )
375+ client_secret = secret (self .seed , client_id )
362376 cinfo ["client_secret" ] = client_secret
363377 _eat = self .client_secret_expiration_time ()
364378 if _eat :
0 commit comments