지금 지원 담당자와 채팅
지원 담당자와 채팅

Identity Manager 8.2.1 - HTML5 Development Guide

Setting up a working environment for the One Identity GitHub repository

In this section, you will discover how to set up your working environment for using the One Identity GitHub repository. This will allow you to develop your own web applications.

Prerequisites:

To set up your working environment

  1. Request access to the One Identity GitHub repository. The One Identity GitHub repository is available to you under the following URL: https://github.com/OneIdentity/IdentityManager.Imx

  2. Create a fork of the One Identity GitHub repository (see https://docs.github.com/en/ge t-started/quickstart/fork-a-repo).

  3. Install npm (see https://docs.npmjs.com/downloading-and-installing-node-js-and-npm).

  4. Run the following command in a command line program:

    npm install -g @angular/cli

Accessing the API

The Typescript API client is used to access the API.

For each One Identity Manager module that provides API services, an imx-api-<module name>.tgz Angular library exists as an NPM package in the imx-modules folder of the repository.

NOTE: The API client libraries are not dependent on Angular and thus can be used from any JavaScript program.

The TypeScript API clients consist of several parts:

  • Endpoint-based methods:

    The V2Client class of the API client contains one method for each API endpoint. The method name is generated with the following format:

    <URL path of the API endpoint>_<HTTP method>

    Example

    The GET portal/serviceitems method becomes the portal_serviceitems_get typescript method.

  • Entity-based methods:

    The TypedClient class of the API client contains a wrapper class for each entity-based API method that allows entities to be loaded and stored.

    Example of methods for interactive entities

    For the portal/serviceitems/interactive method there is the TypedClient.PortalServiceItemsInteractive_byid property of the PortalServiceItemsInteractive_byidWrapper class type.

    Depending on the scope of operations supported by an API method, the following methods are available for the wrapper class:

    • The createEntity method is used to create a new entity.

    • The Get_byid method is used to load an interactive entity from the API Server. The API Server only supports loading a single object per query from the database as an interactive entity. The primary key values of the object must be specified as method parameters.

    • The Put and Post methods are used to store entities with the PUT operation. These methods must not be called directly, but are controlled by the commit() method of the IEntity interface.

Encapsulation as a service

Access to the API is encapsulated in a separate Angular service for each Angular library. This Angular service can be imported into custom classes:

  • In the qbm Angular library, the service is called imx_SessionService.

  • In the qer Angular library, the service is called QerApiService.

  • In all other Angular libraries, the service is called ApiService.

Creating and editing your own HTML applications

To create and edit your own HTML applications, you can modify Angular libraries and add plugins to the API Server.

Detailed information about this topic

Customizing libraries

If you modify Angular library code, you must create and deploy custom versions of all Angular applications that will use the modified Angular library.

For example, if you modify the qer Angular library, you must also compile the qer-app-portal, qer-app-operationsupport, and qer-app-pwdportal Angular applications, because all of these applications contain the qer Angular library.

If you modify Angular plugin library code, you must create and deploy a separate version of the Angular plugin library itself and all Angular plugin libraries that depend on it.

For example, if you modify the tsb Angular plugin library, you must also compile the aad and o3t Angular plugin libraries because these Angular plugin libraries contain the tsb Angular plugin library.

관련 문서

The document was helpful.

평가 결과 선택

I easily found the information I needed.

평가 결과 선택