def fetch_entity(fetch_endpoint, iss, sub, iss_entity_statement): _response = requests.request("GET", fetch_endpoint, verify=False, params={'iss': iss, 'sub': sub}) _jws = factory(_response.text) _key_jar = KeyJar() _key_jar.import_jwks(iss_entity_statement['jwks'], iss) _keys = _key_jar.get_jwt_verify_keys(_jws.jwt) _res = _jws.verify_compact(keys=_keys) return _res
def get_self_signed_entity_statement(entity_id): _url = entity_id + "/.well-known/openid-federation" _response = requests.request("GET", _url, verify=False) _jws = factory(_response.text) _payload = _jws.jwt.payload() entity_statement = EntityStatement(**_payload) _key_jar = KeyJar() # verify entity_statement["iss"] _key_jar.import_jwks(entity_statement['jwks'], entity_id) _keys = _key_jar.get_jwt_verify_keys(_jws.jwt) _res = _jws.verify_compact(keys=_keys) return _res