The CI HUB integration comprises the CIHUB module, REST interface, CI HUB server and the CI HUB connector plugin.


Architecture

The architecture for the CI HUB integration consists of three layers:

  • The client with Adobe CC applications and the CI HUB connector plug-in
  • The CI HUB Server with resource adapter and REST interfaces
  • censhare Server with the KeyCloak authentication server, CIHUB module and the Cloud Gateway


Keycloak

The CI HUB integration requires Keycloak for authentication. As of that, censhare Server with censhare WP is required.

Keycloak performs two tasks for the integration:

  • Authentication of users when they want to access the censhare Server via the CI HUB plug-in
  • Authentication of data requests that the CI HUB Server sends to the censhare Server on behalf of the user

If users connect to censhare in the CI HUB plug-in for the first time, he must authenticate themselves. They can use their usual censhare account. No additional configuration is required. All roles and domain definition also apply that are already defined for a user. If users cannot see assets in the web browser, they can also not see them in the panel of the CI HUB plug-in.

For the authentication, the OAuth 2.0 protocol with the Authorization Code Flow is used. This means that users grant the CI HUB server to access the censhare Server on their behalf. Nevertheless, the CI HUB Server must also authenticate to Keycloak. For this purposes, the server uses a Keycloak client ID and the secret that is stored for this ID in Keycoak. 

After successful user and CI HUB Server authentication, the CI HUB Server retrieves an access token. This token is added to each HTTPS request that the CI HUB Server sends to the REST interface of the CIHUB module.

CIHUB module

For the CI HUB integration, the censhare Server provides an own REST interface via the CIHUB module. This REST interface is requested by the CI HUB plug-in via the CI HUB Server. The CIHUB module defines via a query which assets can be delivered via the REST interface, in general. If an asset does not match this query, its data cannot be delivered to the CI HUB plug-in.

The REST API also defines which kind of data are delivered to the CI HUB plug-in. Only, these data are then available in the CI HUB plug-in and can be seen in its panel. The basic objects that are delivered are so-called entities.  Entities can be images, videos, or audios, for example. For each entity, there is a defined set of attributes that is displayed in CI HUB panel, for example width, height, or dpi.