Nimble directory + auth + SSO services for your {web} and {cloud} apps

Nimbus Directory Services

NimbusSSO Specification

JSON web service for SSO and shared sessions

NimbusSSO is a lightweight JSON-RPC 2.0 web service for Single Sign-On (SSO) and shared session management to applications. It accepts requests over HTTP(S) POST.

AuthService for LDAP user authentication

NimbusSSO utilises an AuthService instance to authenticate users against an LDAP v3 compatible directory. Other types of user authentication, such as two-factor authentication or credential checking against an SQL database, are supported via the sso.proxiedLogin call.

If the AuthService accesses the LDAP directory through a Json2Ldap web API clients can be optionally provided with an LDAP connection authenticated as the user.

Web API

NimbusSSO handles JSON remote procedure call (JSON-RPC) requests for login, logout and shared session management.

Login and logout » Session query » Session monitoring »
Session event notifications » Web service information »

Deployment

NimbusSSO is packaged as a standard web application archive (WAR) ready for immediate deployment in a Java servlet container, such as the popular open source Apache Tomcat server.

Configuration

NimbusSSO allows configuration of access control policy, authentication backend, web API and session policy. See the configuration manual for details.

Access control » AuthService connection details »

Allows / denies access to NimbusSSO based on a set of rules such as SSL/X.509 security or client IP whitelist.

The AuthService connection details for handling user authentication against an LDAP directory.

Web API settings » Session policy »

Enabling specific NimbusSSO requests and options, HTTP response content type.

Session policy for managing session quotas, login policy, max duration and idle time.

Logging

NimbusSSO uses the popular log4j utility. Here are the event types that can be selectively logged (at various levels):

Logging is configured through the WEB-INF/log4j.properties file.

Example LDAP directory server

An example LDAP directory server is included in the NimbusSSO WAR to enable evaluation and testing of the service without an external directory. The example directory is enabled / disabled and configured through the WEB-INF/exampleDirectory.properties file.

System requirements and dependencies

NimbusSSO requires a web server conforming to the Java servlet specification, such as Apache Tomcat or Jetty:

For LDAP user authentication:

All package dependencies are included in the NimbusSSO WAR file for convenience.

Change log