Index
Overview#
The "Text User Interface" or "TUI" is a tool for admins to perform ad hoc configuration of the Janssen Project software components.
You can run it by executing:
/opt/jans/jans-cli/jans_cli_tui.py
The TUI calls the Jans Config API. A TUI client is configured out of the
box when you run either the VM or container Jans setup. The TUI utilizes the
OAuth Device Flow for user authentication--the default admin
user created
during setup has the correct roles to use all the TUI features. Client
credentials, tokens and other data is stored in file ~/.config/jans-cli.ini
in
encoded format. The user-role mappings roles are defined in a Jans Auth Server
introspection script
~/.config/jans-cli.ini
Plugins#
It's possible to extend the TUI by writing a plugin. Each plugin is loaded
dynamically according to the numeric priority of the folders in
/opt/jans/jans-cli/plugins
. To enable a plugin, you need to edit
jans-cli.ini
. The default plugins are:
jca_plugins = user-mgt,scim,fido2,admin-ui
Administration#
When you run the TUI, this is the home panel:
Auth Server#
The most complicated configuration belongs to Auth Server. This should be no surprise, because this component is responsible for the implementation of OpenID Provider, OAuth Authorization Server, and UMA Authorization Server endpoints.
- In below screenshot, we are getting the list of existing clients.
- It's possible to get details of any client as well. Just hit enter on any client and you will see information like this.
- With the button which is located on right upper side named "Add Client", it's possible to create new client.
FIDO#
The Janssen FIDO Server implements FIDO 2 and FIDO U2F endpoints. Using the TUI, you can view/update details of the FIDO configuration.
There are two configurations included here:
- Dynamic Configuration
- Static Configuration
SCIM#
System for Cross-domain Identity Management, in short SCIM, is a specification that simplifies the exchange of user identity information across different domains. The Janssen Server provides implementation for the SCIM specification.
With Janssen CLI-TUI, it's possible to view / update SCIM configuration.
Standalone Installation#
Installation of a Jans TUI ( Text-Based User Interface ) need a Jans server to be installed as base. After that download and build Jans-ClI-TUI and make it.
Build:#
-
Install dependencies
apt install -y wget unzip python3-pip python3-dev pip3 install shiv
-
Download the repository:
wget https://github.com/JanssenProject/jans/archive/refs/heads/main.zip
-
Unzip package, and change to directory
unzip main.zip cd jans-main/jans-cli-tui
-
Build
make zipapp
You can verify with the following command line if everything is done successfully.
python3 jans-cli-tui.pyz
Created: 2022-11-29