def _keyjar(self, keyjar=None, conf=None, entity_id=""): if keyjar is None: if "keys" in conf: keys_args = { k: v for k, v in conf["keys"].items() if k != "uri_path" } _keyjar = init_key_jar(**keys_args) elif "key_conf" in conf: keys_args = { k: v for k, v in conf["key_conf"].items() if k != "uri_path" } _keyjar = init_key_jar(**keys_args) else: _keyjar = KeyJar() if "jwks" in conf: _keyjar.import_jwks(conf["jwks"], "") if "" in _keyjar and entity_id: # make sure I have the keys under my own name too (if I know it) _keyjar.import_jwks_as_json( _keyjar.export_jwks_as_json(True, ""), entity_id) _httpc_params = conf.get("httpc_params") if _httpc_params: _keyjar.httpc_params = _httpc_params return _keyjar else: return keyjar
def _keyjar(self, keyjar=None, db_conf=None, conf=None, entity_id=''): if keyjar is None: _storage = None if db_conf: _cnf = get_storage_conf(db_conf, 'keyjar') if _cnf: _storage = storage_factory(_cnf) if 'keys' in conf: args = {k: v for k, v in conf["keys"].items() if k != "uri_path"} args.update({'storage': _storage}) _keyjar = init_key_jar(**args) else: _keyjar = KeyJar(storage=_storage) if 'jwks' in conf: _keyjar.import_jwks(conf['jwks'], '') if '' in _keyjar and entity_id: # make sure I have the keys under my own name too (if I know it) _keyjar.import_jwks_as_json(_keyjar.export_jwks_as_json(True, ''), entity_id) _httpc_params = conf.get('httpc_params') if _httpc_params: _keyjar.httpc_params = _httpc_params return _keyjar else: return keyjar
def key_setup(): # Copy dynamically created files to there places in the base_data information tree. key_jar = KeyJar() key_jar.import_jwks_from_file(os.path.join(dir_path, "flask_op/static/fed_keys.json"), "") _jwks = key_jar.export_jwks_as_json(issuer="") with open('base_data/umu.se/https%3A%2F%2F127.0.0.1%3A5000/jwks.json', "w") as fp: fp.write(_jwks) for _key_file, _port in [(os.path.join(dir_path, "flask_rp/static/fed_keys.json"), 4000), (os.path.join(dir_path, "flask_rp/static/fed_keys_auto.json"), 4001)]: if os.path.isfile(_key_file): key_jar = KeyJar() key_jar.import_jwks_from_file(_key_file, "") _jwks = key_jar.export_jwks_as_json(issuer="") _file = 'base_data/lu.se/https%3A%2F%2F127.0.0.1%3A{}/jwks.json'.format(_port) with open(_file, "w") as fp: fp.write(_jwks)
# Initialize the oidc_provider after views to be able to set correct urls app.signing_service = init_sign_service(app) return app if __name__ == "__main__": domain = '127.0.0.1' op_port = 5000 rp_spec = [("../flask_rp/static/fed_keys.json", 4000), ("../flask_rp/static/fed_keys_auto.json", 4001)] # Copy dynamically created files to there places in the base_data information tree. key_jar = KeyJar() key_jar.import_jwks_from_file("../flask_op/static/fed_keys.json", "") _jwks = key_jar.export_jwks_as_json(issuer_id="") with open( 'base_data/umu.se/https%3A%2F%2F{}%3A{}/jwks.json'.format( domain, op_port), "w") as fp: fp.write(_jwks) for _key_file, _port in rp_spec: if os.path.isfile(_key_file): key_jar = KeyJar() key_jar.import_jwks_from_file(_key_file, "") _jwks = key_jar.export_jwks_as_json(issuer_id="") _file = 'base_data/lu.se/https%3A%2F%2F{}%3A{}%2Flocal/jwks.json'.format( domain, _port) with open(_file, "w") as fp: fp.write(_jwks)