About this guide
This guide shows web developers how to view One Identity Manager HTML applications as code and how to understand their internal functionality.
You can use existing HTML applications from the One Identity GitHub repository as templates for this (see Developing HTML applications with the One Identity GitHub repository).
Available documentation
The online version of One Identity Manager documentation is available in the Support portal under Technical Documentation. You will find videos with additional information at www.YouTube.com/OneIdentity.
Architecture of One Identity Manager HTML applications
Architecture of One Identity Manager HTML applications
The HTML applications are structured as nodeJS applications that use the Angular framework. Generally, any HTML applications that can be compiled as nodeJS applications are supported.
HTML applications use the API Client to communicate with the One Identity Manager API. The API Client is an npm library that is automatically generated and stored to the database during API compilation. The API Client controls all network access on the API Server.
Much of the logic for HTML applications is realized by plugins that can be used independently of a specific HTML application. You can also use this logic for your own HTML applications.
Developing HTML applications with the One Identity GitHub repository
Developing HTML applications with the One Identity GitHub repository
You can develop your own HTML applications using the source code of a default HTML applications as a template.
The source code of default HTML applications is available in a GitHub repository at the following URL: https://github.com/OneIdentity/IdentityManager.Imx
Detailed information about this topic
Angular workspace architecture
The One Identity GitHub repository contains the source code for the HTML applications included in One Identity Manager.
It is a monorepo that contains the Angular workspace, which consists of applications and libraries.
Each Angular library and application belongs to a folder in the projects directory. The Angular workspace is defined in the angular.json file.
Table 1: Angular libraries
qbm |
Angular library |
none |
qer |
Angular library |
qer |
tsb |
Angular plugin library |
qbm, qer |
att |
Angular plugin library |
qbm, qer |
rms |
Angular plugin library |
qbm, qer |
aad |
Angular plugin library |
qbm, qer, tsb |
aob |
Angular plugin library |
qbm, qer |
uci |
Angular plugin library |
qbm, qer |
cpl |
Angular plugin library |
qbm, qer |
dpr |
Angular plugin library |
qbm |
o3t |
Angular plugin library |
qbm, qer, tsb |
pol |
Angular plugin library |
qbm, qer |
Each Angular library belongs to the One Identity Manager module of the same name.
An Angular library behaves like a regular compile-time dependency.
A plugin library is loaded dynamically at runtime. This is specified in the plugin's imx-plugin-config.json files.
Table 2: Angular applications
qbm-app-landingpage |
API Server landing page and server management |
Angular application |
qbm |
qer-app-portal |
Web Portal |
Angular application |
qbm, qer |
qer-app-operationssupport |
Operations Support Web Portal |
Angular application |
qbm, qer |
qer-app-pwdportal |
Password Reset Portal |
Angular application |
qbm, qer |
arc-app-certaccess |
CertAccess Web Portal |
Angular app |
Various |