Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@openfin/cloud-interop

Package Overview
Dependencies
Maintainers
0
Versions
154
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@openfin/cloud-interop

This package contains an override that enables Cloud Interop for `InteropBroker`'s unlocking Interop across applications and devices. It is powered by the [@openfin/cloud-interop-core-api](https://www.npmjs.com/package/@openfin/cloud-interop-core-api?acti

  • 0.41.74
  • npm
  • Socket score

Version published
Weekly downloads
493
increased by94.86%
Maintainers
0
Weekly downloads
 
Created
Source

@openfin/cloud-interop

This package contains an override that enables Cloud Interop for InteropBroker's unlocking Interop across applications and devices. It is powered by the @openfin/cloud-interop-core-api package which provides an API client to communicate with the Cloud Interop Service.

Overrides are passed to fin.Platform.init when initializing a platform or to fin.Interop.init when creating an InteropBroker directly.

Once overriden the InteropBroker will connect to the given Cloud Interop Service upon initialization. Context will be sent to the Cloud Interop server and the broker will receive Context updates from other any other connected brokers in the shared session.

Usage

In a Platform with other overrides:

import { cloudInteropOverride } from "@openfin/cloud-interop";
import { ExampleOverride } from "./example";

const cloudConfig = {
  url: "<CLOUD_INTEROP_SERVICE_URL>",
  platformId: "my-platform", // Shared identifier for apps that should communicate
  sourceId: "my-desktop"
};

const InitializedCloudInteropOverride = await cloudInteropOverride(cloudConfig);

// Ordering is important, ensure Cloud Interop Override is at the end of the list to send overriden Context to the cloud
await fin.Platform.init({
  interopOverride: [ExampleOverride, InitializedCloudInteropOverride],
});

When creating an InteropBroker directly:

import { cloudInteropOverride } from "@openfin/cloud-interop";

const cloudConfig = {
  url: "<CLOUD_INTEROP_SERVICE_URL>",
  platformId: "my-platform", // Shared identifier for apps that should communicate
  sourceId: "my-desktop"
};

const InitializedCloudInteropOverride = await cloudInteropOverride(cloudConfig);

await fin.Interop.init(fin.me.uuid, InitializedCloudInteropOverride);

Authentication

The Cloud Interop API client offers various authentication methods which can be enabled through configuration.

Interactive session based authentication using cookies (default):

import { cloudInteropOverride } from "@openfin/cloud-interop";

const cloudConfig = {
  url: "<CLOUD_INTEROP_SERVICE_URL>",
  platformId: "my-platform", // Shared identifier for apps that should communicate
  sourceId: "my-desktop",
};

const InitializedCloudInteropOverride = await cloudInteropOverride(cloudConfig);

Basic authentication with credentials provisioned per Cloud Interop Service:

import { cloudInteropOverride } from "@openfin/cloud-interop";

const cloudConfig = {
  url: "<CLOUD_INTEROP_SERVICE_URL>",
  platformId: "my-platform", // Shared identifier for apps that should communicate
  sourceId: "my-desktop",
  authenticationType: "basic",
  basicAuthenticationParameters: {
    username: "bob@acme.com",
    password: "password"
  }
};

const InitializedCloudInteropOverride = await cloudInteropOverride(cloudConfig);

JWT token authentication:

import { cloudInteropOverride } from "@openfin/cloud-interop";

const cloudConfig = {
  url: "<CLOUD_INTEROP_SERVICE_URL>",
  platformId: "my-platform", // Shared identifier for apps that should communicate
  sourceId: "my-desktop",
  authenticationType: "jwt",
  jwtAuthenticationParameters: {
    // Service Gateway authentication identifier, contact Here support to obtain id for your organization. 
    authenticationId: "00b671f2-e1a9-4c29-9fa9-55f1988a11fb",
    // Callback invoked whenever a jwt token is required for a request
    jwtRequestCallback: () => "my-token"
  }
};

const InitializedCloudInteropOverride = await cloudInteropOverride(cloudConfig);

FAQs

Package last updated on 10 Dec 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc