The NSO Web UI provides a comprehensive baseline interface designed to cover common network management needs with a focus on usability and core functionality. It serves as a reliable starting point for customers who want immediate access to essential features without additional development effort.
For customers with specialized requirements—such as unique workflows, custom aesthetics, or integration with external systems—the NSO platform offers flexibility to build tailored Web UIs. This enables teams to create user experiences that precisely match their operational needs and branding guidelines.
At the core of NSO’s Web UI capabilities is the northbound JSON-RPC API which adheres to the JSON-RPC 2.0 specification and uses HTTP/S as the transport protocol
The JSON-RPC API contains a handful of methods with well-defined input method and params, along with the output result.
In addition, the API also implements a Comet model, as long polling, to allow the client to subscribe to different server events and receive event notifications about those events in near real-time.
You can call these from a browser using the modern fetch API:
You can read in the JSON-RPC API section about all the available methods and their signatures, but here is a working example of how a common flow would look like:
Log in.
Get system settings.
Create a new (read) transaction handle.
Read a value.
Create a new (read-write) transaction, in preparation for changing the value.
Set a value.
Validate and commit (save) the changes.
A secondary example is also provided that demonstrates the use and implementation of a Comet channel client for receiving notifications:
Log in.
Initialize comet channel subscription.
Commit a change to trigger a comet notification.
Stop and clean up the comet.
For a complete working example with a web UI, see the webui-basic-example NSO package in ${NCS_DIR}/examples.ncs/northbound-interfaces/webui. This package demonstrates basic JSON-RPC API usage and can be run with make demo.
Single Sign-on (SSO)
The Single Sign-On functionality enables users to log in via HTTP-based northbound APIs with a single sign-on authentication scheme, such as SAMLv2. Currently, it is only supported for the JSON-RPC northbound interface.
For Single Sign-On to work, the Package Authentication needs to be enabled, see Package Authentication).
When enabled, the endpoint /sso is made public and handles Single Sign-on attempts.
An example configuration for the cisco-nso-saml2-auth Authentication Package is presented below. Note that /ncs-config/aaa/auth-order does not need to be set for Single Sign-On to work!
A client attempting single sign-on authentication should request the /sso endpoint and then follow the continued authentication operation from there. For example, for cisco-nso-saml2-auth, the client is redirected to an Identity Provider (IdP), which subsequently handles the authentication, and then redirects the client back to the /sso endpoint to validate the authentication and set up the session.
Web Server
An embedded basic web server can be used to deliver static and Common Gateway Interface (CGI) dynamic content to a web client, such as a web browser. See Web Server for more information.