Skip to main content

SSO Authentication - Whitepaper for Integration

A technical overview of how SAML-based Single Sign-On works between Joomag and your Identity Provider, including required URLs, certificate exchange, and the end-to-end SSO flow.

Written by David Aslanyan

For step-by-step guides on connecting specific IdPs, see the related articles on setting up SSO through OneLogin and Microsoft Azure.

Settings page on Joomag

Go to Settings > Account settings > Single Sign-on to access the SSO configuration page. Here you will find Joomag's Service Provider (SP) values and fields to enter your Identity Provider (IdP) details.

image-20241022-053724

Joomag provides the following SP data:

You must provide the following IdP data:

  1. Identity Provider Identifier or Issuer URL

  2. Identity Provider Single Sign-On URL

  3. X.509 Certificate

Step-by-step SSO flow

1. SSO Initialization

When a user tries to access a resource on Joomag (the SP), they are redirected to the IdP for authentication instead of logging in directly. Joomag generates a SAML authentication request and sends it to the Identity Provider Single Sign-On URL you provided.

2. Redirection to the IdP

Your Identity Provider Identifier (Issuer URL) is used by Joomag to uniquely identify and communicate with the IdP. The user is redirected to the IdP's login page to authenticate.

3. SAML Response creation

The user enters credentials at the IdP login page. If valid, the IdP creates a SAML assertion containing the authenticated user's information. To determine what to include, the IdP reads metadata from the Audience URL (https://webhook.joomag.com/sso/metadata). The XML at that URL tells the IdP that Joomag requires the user's email address (urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress).

4. Sending the SAML response to Joomag

The IdP sends the user's email address to the ACS URL (https://webhook.joomag.com/sso/acs). Joomag then authenticates the user.

x509 certificate

The x509 certificate is required when the IdP uses an encrypted connection with the SP. You can obtain Joomag's x509 certificate from the metadata URL (https://webhook.joomag.com/sso/metadata) or from the SSO settings page. You must also provide your IdP's x509 certificate so that Joomag can verify data coming from the IdP.

Did this answer your question?