def load_powerapps_and_flow_rp(settings, command_context):

    # Get credentials
    credentials = TokenManager().get_credentials()

    # Get powerapps rp
    powerapps_rp = PowerAppsRPBuilder.get_from_settings(
        credentials=credentials, settings=settings)

    # Get flow rp
    flow_rp = FlowRPBuilder.get_from_settings(credentials=credentials,
                                              settings=settings)

    # If the file names are missing for the download command
    # use default names
    if command_context is _DOWNLOAD:
        settings.api_properties = settings.api_properties or 'apiProperties.json'
        settings.api_definition = settings.api_definition or 'apiDefinition.swagger.json'
        settings.icon = settings.icon or 'icon.png'
        settings.script = settings.script or 'script.csx'

    # Prompt for environment for any
    # operation other than `validate`
    if command_context is not _VALIDATE:
        prompt_for_environment(settings=settings, flow_rp=flow_rp)

    # Prompt for connector id for
    # operation `update` and `download`
    if command_context is _UPDATE or command_context is _DOWNLOAD:
        prompt_for_connector_id(settings=settings, powerapps_rp=powerapps_rp)

    return powerapps_rp, flow_rp
Example #2
0
def get_authentication(settings, force_authenticate):
    """
    Logs the user in and saves the token in a file.
    """
    tokenmanager = TokenManager()
    credentials = tokenmanager.read()

    token_expired = TokenManager.is_expired(credentials)

    # Get new token
    if token_expired or force_authenticate:
        profile = Profile(
            client_id=settings.client_id,
            tenant=settings.tenant,
            resource=settings.resource,
            authority_url=settings.authority_url)

        credentials = profile.authenticate_device_code()

        tokenmanager.write(credentials)

        token_expired = TokenManager.is_expired(credentials)

    # Couldn't acquire valid token
    if token_expired:
        raise CLIError('Couldn\'t get authentication')
Example #3
0
def remove_authentication():
    tokenmanager = TokenManager()
    tokenmanager.delete_token_file()