MCPcopy
hub / github.com/authlib/authlib / find_encode_key

Function find_encode_key

authlib/jose/rfc7519/jwt.py:138–167  ·  view source on GitHub ↗
(key, header)

Source from the content-addressed store, hash-verified

136
137
138def find_encode_key(key, header):
139 if isinstance(key, KeySet):
140 kid = header.get("kid")
141 if kid:
142 return key.find_by_kid(kid)
143
144 rv = random.choice(key.keys)
145 # use side effect to add kid value into header
146 header["kid"] = rv.kid
147 return rv
148
149 if isinstance(key, dict) and "keys" in key:
150 keys = key["keys"]
151 kid = header.get("kid")
152 for k in keys:
153 if k.get("kid") == kid:
154 return k
155
156 if not kid:
157 rv = random.choice(keys)
158 header["kid"] = rv["kid"]
159 return rv
160 raise ValueError("Invalid JSON Web Key Set")
161
162 # append kid into header
163 if isinstance(key, dict) and "kid" in key:
164 header["kid"] = key["kid"]
165 elif isinstance(key, Key) and key.kid:
166 header["kid"] = key.kid
167 return key
168
169
170def create_load_key(key):

Callers 1

encodeMethod · 0.85

Calls 2

find_by_kidMethod · 0.80
getMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…