Single sign-on allows for easy access to multiple applications. It authenticates a user through a single sign-on service provider by checking the user’s login credentials against a user database. Once it authenticates a user’s login credentials, it grants access to applications accessed through another domain.
An SSO session activates after successful authentication of a user’s username and password on a central domain and contains the following information about the user:
- Which authentication service was used
- The date and time of the activated session
- Details about the authenticated user
This session information can then be shared in different ways to grant the user access privileges on other domains. However, due to the same-origin policy, authentication is always performed through a central domain that originally requested the storing of the data before the session can be shared with other domains.
Why Share Sessions With Other Domains?
A lot of developers create applications on one domain, which then stores usernames for each user using the application. Instead of creating new login credentials on another domain, it is a lot easier to simply use the login details of users already registered in the first domain. Thereby saving each user the time and effort it requires to create a new account.
In order to do this, the session information of the initial domain would have to be shared with the second domain. However, for cybersecurity reasons, the same-origin policy only allows access for cookies and other stored data by the domain that originally requested to store the data.
In other words, you cannot share login credentials, cookies or any other necessary session information between domains without a single sign-on service provider.
How Does Session Management Work With SSO?
Cross-domain single sign-on helps to control user access across many domains. After an individual successfully logs into a site, the SSO system usually tracks them with a token on the server. As a person moves between various applications or interfaces, the system checks to ensure the tracker and its associated credentials are up to date.
The process usually follows these steps:
- A user visits a domain.
- The user is redirected to the SSO domain.
- After the user signs in with their credentials, the SSO domain finds a match.
- The SSO tool requests an encrypted token from the authentication server.
- The user is redirected back to the target domain.
- The encrypted token proves authentication.
- The user can now freely access associated domains.
However, it is important to remember that there are numerous internal and external SSO systems that vary in how they authenticate users and initialize a session.
Common ways of initializing SSO sessions can be based on different authentication protocols, like granting tickets, smart cards, automatically authenticated connections, or even Security Assertion Markup Language (SAML). Your session management solutions will differ greatly based on whether you have an internal or external SSO system.
Large companies, government offices, universities, and large organizations generally use internal SSO systems to streamline internal tasks for users. External SSO systems exist mostly in free or paid web applications and help to manage users across multiple web apps or login portals.
Different SSO software programs can manage sessions of both external and internal SSO systems. They will usually allow you to see which sessions are currently active and give you managing privileges of all sessions and user activity.
Some of the managing privileges may include:
- Logging all users out of their sessions.
- See which users are logged into a certain application.
- View session information.
- Revoke all sessions and access tokens if it’s suspected that your system has been compromised.
- Set a time-based revocation policy.
- Control of session, cookie, and token timeouts.
- Manage offline access.
What Are The Advantages?
The advantages of SSO allow for a user-intuitive experience and make the login process a lot easier for everyone. However, as a company or perhaps a website owner, you want to have full control of your SSO system, whether it be internal or external, in order to secure and effectively manage your business.
SSO session management allows this by giving you full control of every management aspect when it comes to connecting users across domains or allowing them to streamline internal tasks.