User Access Options

Direct Access 

By default, Unicorn LMS provides a Forms Authentication feature enabling users to login to a site using a username and password.

Usernames are unique to the Unicorn LMS client installation and can be alphanumeric or an email address.

Passwords can be stored in a one-way hash or encrypted depending on whether password retrieval is permitted and required.

Password rules are configurable to include minimum length, number of alphanumeric characters, number of login attempts and ability to define a regular expression to set specific format rules.

The advantage of this access option is that no specific configuration is required to log into Unicorn LMS. A disadvantage is that the user’s password is unique to Unicorn LMS and has to be managed separately by the user.

For the Single Sign-On approaches listed below, the user does not need to maintain separate passwords but configuration is required to enable these alternative authentication mechanisms.

Single Sign-On

Single Sign-On allows a user to navigate to Unicorn LMS from another client site (e.g. the user’s Intranet site) without having to log into Unicorn LMS explicitly. The user must already be authenticated within their own site. This allows fluid transition between the client’s site and Unicorn LMS.

Unicorn LMS supports three types of Single Sign-On:

Shared Key SHA Hash token

This mechanism involves the client server generating a hash of the unique identifier (e.g. login or employee ID) using a shared secret and a time stamp. On receiving the request, Unicorn LMS also generates a hash value based on the details and the shared secret. If the two match and the timestamp is within the required window then the user is authenticated.

SAML Integration

The Security Assertion Mark-up Language (SAML) is an XML-based standard for exchanging authentication and authorisation data between security domains, that is, between an identity provider and a service provider. SAML is a product of the OASIS Security Services Technical Committee.

The service provider relies on the identity provider (client) to identify the principal.  The principal's request, the identity provider passes a SAML assertion to the service provider (Unicorn LMS). Based on the SAML assertion, Unicorn LMS can then authentication the user.

Same Sign-On

Same Sign-On is a mechanism by which a user arrives at the Unicorn LMS login page but enters the same credentials as they would for their client system (e.g. their Intranet login credentials).

When these credentials are entered into the Unicorn LMS login page they are passed to a client web service to authenticate. The client system responds with an authentication response which allows login to Unicorn LMS if authentication is.

The advantage of this login mechanism is that the user only has a single username and password for their client system and for Unicorn LMS.

Note that:
  • It is possible to have a mix of Same Sign-on and Forms Authenticated users within Unicorn LMS if required. 
  • SAML integration also provides a same sign-on mechanism. 

Shared Key SSO Implementation

In order for Shared Key SSO to be used, the client site must:
  • Implement a hashing mechanism which conforms to the technical details outlined below;
  • Provide a mechanism whereby the above hash is constructed when the user navigates to Unicorn LMS (e.g. when a link is clicked by the user on their Intranet site). 
The Single Sign-on authentication process must use the SHA  Algorithm to produce a hash key from a string containing details of the user’s login request. SHA is a widely used cryptographic hash function. As an Internet standard, SHA1 (RFC3174), SHA2 has been employed in a wide variety of security applications, and is also commonly used to check the integrity of files.

We recommend the highest level of SHA algorithm you can accommodate. We support SHA1, SHA256, SHA384 and SHA512.

The string used for the SHA algorithm is being constructed from three parameters:
  1. A standard key called the “Shared Secret” which is known to Unicorn and the client 
  2. A UTC timestamp in the following format yyyyMMddHHmmss. If the timestamp is not UTC then login is likely to fail due to time zone or daylight saving time differences between the client site and Unicorn LMS.
  3. A string representing the unique Employee ID (or other agreed unique key)
  4. Optional redirect URL (to redirect to post-login – i.e. to a particular page within Unicorn LMS)
The first three values must be concatenated into a single string which is then passed into the specified encryption algorithm to produce the hash key.

The website link used for the single sign-on navigation must contain information about the timestamp, the unique ID and the hash key in order to identify the user and log them in.

For example:
  • Timestamp: 20100101095600 
  • Unique ID: employeeid1 

Concatenating the above values produces the following string:
  • A61FFE2LR4SF9GS5YH4CKS3LAOR34EWRLIJ65DSFL7AK20100101095600employeeid1

Running the SHA256 algorithm for example with the above string as input, will produce the following output (which is called the 'hash key'):
  • 11765783d7b91530d268fcf99eded2ee07dd5464aafdc26b5ceec9ddd25d18d8 

The URL the user is redirected to will be similar to this example:

Note: For security reasons, the Shared Secret should not be exposed on the website - the hashing function should execute server-side. The above URL is an example. When the above URL is hit, Unicorn LMS will concatenate the employee ID and timestamp and combine it with the shared secret. It will then hash that value and compare it with the hashed value sent in the link.

If they match then the user is considered to be trusted and therefore authenticated.

Feedback and Knowledge Base