Connectivity to io.Manager

Overview

An io.Connect Browser project can connect to io.Manager and use its functionalities.

io.Manager is a server-side app that provides data to io.Connect (apps, Layouts, preferences) and allows monitoring and interacting with users running io.Connect.

It also includes an Admin UI that helps managing the data stored in the io.Manager easier.

For more details about io.Manager, see the io.Manager documentation.

Currently, the @interopio/browser-platform library allows:

  • opening a session and authenticating with io.Manager - both basic and token-based authentication mechanisms are supported. You can also provide custom headers to be included in every request;

  • fetching app definitions and Layouts and importing them into the current io.Connect Browser environment;

Setup

To specify settings for the connection to the io.Manager, use the manager property of the optional configuration object when initializing the @interopio/browser-platform library. The following example demonstrates configuring the connection to io.Manager using basic authentication:

import IOBrowserPlatform from "@interopio/browser-platform";

const config = {
    licenseKey: "my-license-key",
    manager: {
        // URL pointing to io.Manager.
        url: "https://my-io-manager.com:4242/api",
        // Basic authentication.
        auth: {
            basic: {
                username: "username",
                password: "password"
            }
        },
        fetchIntervalMS: 10000,
        tokenRefreshIntervalMS: 15000,
        critical: true
    }
};

const { io } = await IOBrowserPlatform(config);

The manager object has the following properties:

Property Type Description
auth object Required. User authentication configuration.
critical boolean If true, the @interopio/browser-platform library will wait for this module to be fully operational before completing its initialization. Defaults to false.
fetchIntervalMS number Interval in milliseconds at which a new snapshot of app definitions and Layouts will be fetched from the io.Manager. Defaults to 60000.
headers object Object containing key/value pairs of headers to be sent with every request.
tokenRefreshIntervalMS number Interval in milliseconds at which the session token will be refreshed. Defaults to 3600000.
url string Required. URL pointing to io.Manager.

The auth object has the following properties:

Property Type Description
basic object Object with required username and password properties for providing basic authentication.
username string Username for token-based authentication.
token object Object with an optional bearer property holding an authentication token.