Instance Configuration_SSO

a class based approach to configuring your domo instance
token_auth = dmda.DomoTokenAuth(
    domo_instance="domo-alpha",
    domo_access_token=os.environ["ALPHA_ACCESS_TOKEN"],
)

# token_auth = dmda.DomoTokenAuth(
#     domo_instance=os.environ['DOMO_INSTANCE'],
#     domo_access_token=os.environ["DOMO_ACCESS_TOKEN"],
# )

# token_auth = dmda.DomoTokenAuth(
#     domo_instance= "domo-community",
#     domo_access_token=os.environ["DOMO_DOJO_ACCESS_TOKEN"],
# )


full_auth = dmda.DomoFullAuth(
    domo_instance=os.environ["DOMO_INSTANCE"],
    domo_username=os.environ["DOMO_USERNAME"],
    domo_password=os.environ["DOMO_PASSWORD"],
)

domo_users = await dmdu.DomoUsers.all_users(auth=token_auth)
domo_user = next(
    (domo_user for domo_user in domo_users if "test" in domo_user.display_name.lower())
)
def foo(auth : str, **kwargs):
    print(kwargs, type(kwargs))
    return auth


foo(auth=1,
    b=2,
    c=3)
{'b': 2, 'c': 3} <class 'dict'>
1

SSO Configuration


source

SSO_Config

 SSO_Config (auth:domolibrary.client.DomoAuth.DomoAuth, raw:dict,
             idp_enabled:bool, enforce_allowlist:bool,
             idp_certificate:str)

base class for SAML and OIDC Config


source

SSOConfig_UpdateError

 SSOConfig_UpdateError (errors_obj,
                        res:domolibrary.client.ResponseGetData.ResponseGet
                        Data, cls_instance, domo_instance)

base exception


source

SSOConfig_InstantiationError

 SSOConfig_InstantiationError (message, auth, cls_instance=None)

base exception


source

SSO_OIDC_Config

 SSO_OIDC_Config (auth:domolibrary.client.DomoAuth.DomoAuth, raw:dict,
                  idp_enabled:bool, enforce_allowlist:bool,
                  idp_certificate:str, login_enabled:bool,
                  import_groups:bool, require_invitation:bool,
                  skip_to_idp:bool, redirect_url:str, override_sso:bool,
                  override_embed:bool, well_known_config:str,
                  auth_request_endpoint:str=None, token_endpoint:str=None,
                  user_info_endpoint:str=None, public_key:str=None)
await SSO_OIDC_Config.get(auth=token_auth, return_raw=False)
SSO_OIDC_Config(idp_enabled=True, enforce_allowlist=False, idp_certificate=None, login_enabled=False, import_groups=False, require_invitation=False, skip_to_idp=False, redirect_url='', override_sso=False, override_embed=False, well_known_config='', auth_request_endpoint=None, token_endpoint=None, user_info_endpoint=None, public_key=None)

sample implementation of get_saml_config


source

SSO_SAML_Config

 SSO_SAML_Config (auth:domolibrary.client.DomoAuth.DomoAuth, raw:dict,
                  idp_enabled:bool, enforce_allowlist:bool,
                  idp_certificate:str, is_enabled:bool,
                  import_groups:bool, require_invitation:bool,
                  redirect_url:str=None, auth_request_endpoint:str=None,
                  issuer:str=None, relay_state:bool=None)
await SSO_SAML_Config.get(auth=token_auth, debug_prn = False, return_raw=False)
SSO_SAML_Config(idp_enabled=True, enforce_allowlist=False, idp_certificate=None, is_enabled=True, import_groups=False, require_invitation=False, redirect_url='', auth_request_endpoint=None, issuer=None, relay_state=None)
sso_config = await SSO_SAML_Config.get(auth=token_auth, return_raw=False)

try:
    sso_config.set_attribute(
        require_invitation=True,
        override_embed="abc",
    )

    await sso_config.update(
        debug_api=False,
    )
except SSOConfig_InstantiationError as e:
    print(e)
🛑  SSOConfig_InstantiationError 🛑 - function: 🛑 NoneType 🛑 None || key override_embed not part of class @ domo-alpha || error

source

SSO

 SSO (auth:domolibrary.client.DomoAuth.DomoAuth,
      OIDC:__main__.SSO_OIDC_Config=None,
      SAML:__main__.SSO_SAML_Config=None)

class for managing SSO Config. Includes both OIDC aand SAML

sso = SSO(auth = token_auth)
await sso.get()
SSO(OIDC=SSO_OIDC_Config(idp_enabled=True, enforce_allowlist=False, idp_certificate=None, login_enabled=False, import_groups=False, require_invitation=False, skip_to_idp=False, redirect_url='', override_sso=False, override_embed=False, well_known_config='', auth_request_endpoint=None, token_endpoint=None, user_info_endpoint=None, public_key=None), SAML=SSO_SAML_Config(idp_enabled=True, enforce_allowlist=False, idp_certificate=None, is_enabled=True, import_groups=False, require_invitation=False, redirect_url='', auth_request_endpoint=None, issuer=None, relay_state=None))