def get_okta_endpoint(self): appname = utils.get_appname_from_path(os.path.abspath(__file__)) account = self.get(appname, self.okta_endpoint, decrypt=False) if not account or not account["endpoint"] or not account["token"]: return None keys = ("token", "endpoint", "proxy_url") if account["token"] != self.ENCRYPTED_MAGIC_TOKEN: update_dict = {key: account.get(key, "") for key in keys} res = self.update(appname, self.okta_endpoint, update_dict) if not res: raise Exception("Failed to encrypt okta credentials") account = self.get(appname, self.okta_endpoint) return {key: account[key] if account[key] else "" for key in keys}
import sys import os.path as op bindir = op.dirname(op.dirname(op.abspath(__file__))) sys.path.append(bindir) import ta_util from ta_util import utils from ta_util import credentials as cred data = { "endpoint": "172.16.107.244", "token": "abc", "proxy_url": "[email protected]:800", } appname = utils.get_appname_from_path(os.path.abspath(__file__)) stanza_name = OktaConfManager.okta_endpoint session_key = cred.CredentialManager.get_session_key("admin", "admin") mgr = OktaConfManager("https://localhost:8089", session_key) res = mgr.create(appname, stanza_name, data) assert res res = mgr.get(appname, stanza_name) assert res["token"] == "abc" data["token"] = "Password1" res = mgr.update(appname, stanza_name, data) assert res res = mgr.get(appname, stanza_name) assert res["token"] == "Password1"