Single sign-on (SSO) allows users, who are authenticated against one application, to gain access to multiple other related applications as well without having to repeatedly authenticate themselves. It also allows the web applications gain access to a set of backend services with the logged in user's access rights, and the backend services can authorize the user based on different claims like user role.
In a single sign on (SSO) system there are basically two roles; Service Providers and Identity Providers (IdP). The important characteristic of a single sign on system is the predefined trust relation between the service providers and the identity providers. Service providers trust the assertions issued by the identity providers and the identity providers issue assertions based on the results of authentication and authorization of the principles which access services at service providers.
The following are some of the advantages of having SSO:
- Users need only a single username/password pair to access multiple services. Thus they do not have the issue of remembering multiple usernames/password pairs.
- Users are authenticated only once at the identity provider and then they are automatically logged into all services within that "trust-domain". This process is more convenient to users since they do not have to provide their username/password at every service provider.
- Service providers do not have the overhead of managing user identities. This is convenient from the service providers aspect.
- User identities are managed at a central point. This is more secure, less complex and easily manageable.
WSO2 Identity Server (version 3.0 onwards) supports the SAML 2.0 web browser based SSO profile. Thereby, WSO2 Identity Server acts as the default identity provider of a single sign on system with minimal configurations. The following sections expand on SAML 2.0 based SSO: