Skip to content

Text-Based User Interface (TUI)

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: image

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. image
  • It's possible to get details of any client as well. Just hit enter on any client and you will see information like this. image
  • With the button which is located on right upper side named "Add Client", it's possible to create new client. image

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 image
  • Static Configuration image

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. image

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:#

  • pip3 install shiv
  • wget https://github.com/JanssenProject/jans/archive/refs/heads/jans-cli-tui-works.zip
  • unzip jans-cli-tui-works.zip
  • cd jans-jans-cli-tui-works/jans-cli-tui/
  • make zipapp

Run#

  • ./config-cli-tui.pyz

Last update: 2022-12-23
Created: 2022-11-29