What is SAML?
SAML stands for Security Assertion Markup
Language. It is an XML based open standard protocol used for Single Sign On (SSO). SAML lets users gain access to
multiple applications without the need for entering credentials everytime.
What is Single Sign-on?
Before understanding what Single Sign-On (SSO) is, we must go through how traditional authentication works.
- A
service will present the user with a login page where the user must
submit a set of login credentials i.e., username and passwords. Some
services might ask for more authentication information such as a
one-time password.
- The credentials submitted by the user are validated against the ones present in the database at the service.
Traditional
authentication is quite intuitive; everything is managed within the
service, providing a simple way for users to authenticate. However, if a
user needs to access multiple applications with a different set of
login credentials for each application, it quickly turns cumbersome for
the user. The user must remember multiple credentials and comply with
different password policies.
Single Sign-On is a feature which lets you access Zoho as well as
third-party applications with one user credential.
Users aren't required to remember an array of usernames and passwords
for each application they need access to. Zoho uses SAML to achieve SSO
with third-party applications.
How does it work?
IdP initiated flow
- The user wants to access a Zoho service.
- The user logs in to their Identity Provider (IdP )and chooses the Zoho application.
- IdP will create a signed SAML assertion response, which is sent to the ACS (Assertion Consumer Service) URL endpoint at Zoho.
- Zoho
will validate the SAML assertion response. Upon successful
validation, the user will be granted access to any Zoho services they
are authorized for.
- The user wants to sign in to a Zoho service.
- Zoho generates an SAML authentication request and sends it to IdP via HTTP-Redirect binding.
- IdP will authenticate the user and form a signed SAML assertion response, which is sent to the ACS URL endpoint at Zoho.
- Zoho will validate the SAML assertion response. If the user is authorized to use the Zoho service, they will be granted access.