def get_available_factors(user_id): print("get_available_factors()") okta_admin = OktaAdmin(session) available_factors = okta_admin.list_available_factors(user_id) factors = [] for f in available_factors: if f["status"] == "NOT_SETUP": factorType = f["factorType"] provider = f["provider"] try: phone_number = f["_embedded"]["phones"][0]["profile"][ "phoneNumber"] except: phone_number = None factor = { "factorType": factorType, "provider": provider, "phoneNumber": phone_number, "name": get_factor_name(factorType, provider) } factors.append(factor) return json.dumps(factors)
def get_available_factors(user_id): print("get_available_factors()") okta_admin = OktaAdmin(session[SESSION_INSTANCE_SETTINGS_KEY]) available_factors = okta_admin.list_available_factors(user_id) factors = [] logging.debug(available_factors) for f in available_factors: if f["status"] == "NOT_SETUP" or f["factorType"] == "webauthn": factorType = f["factorType"] provider = f["provider"] try: phone_number = f["_embedded"]["phones"][0]["profile"][ "phoneNumber"] except Exception: phone_number = None logging.debug(get_factor_name(factorType, provider) + provider) factor = { "factorType": factorType, "provider": provider, "phoneNumber": phone_number, "name": get_factor_name(factorType, provider) } if (provider == "SYMANTEC"): # do nothing continue else: factors.append(factor) return json.dumps(factors)