Skip to main content
Microsoft ADFS
Updated over a month ago

SSO integration guide

⚠️ Access to the SSO configuration requires specific permissions (company manager rights in Javelo).

In order to configure SSO, you need to follow these steps:

  1. Go to "Settings" (⚙️ icon) in the upper right corner of your Javelo account

  2. Select “SSO” from the navigation menu under the Company section.

    Here you have all available SSO integrations, and more specifically Microsoft ADFS:

  3. Find Microsoft ADFS panel and click "Configure" to open the configuration modal:


Configuration order

Due to some requirement on ADFS and Javelo side, it’s best to follow a specific order described here below:

  1. Define the provider value in Javelo modal configuration

  2. Start the configuration of Identity provider on ADFS side

  3. Use technical information at the bottom of Javelo modal configuration to fill mandatory information on Azure side.

  4. Ensure the attribute mapping on Javelo and ADFS side matches (default values are compatibles).

  5. Finish the Javelo SAML V2 service provider by setting the identity provider entity ID and metadata URL you will get on ADFS side.

  6. Test the metadata URL with the button on Javelo modal configuration

  7. Enable ADFS SSO in Javelo

  8. Test the connection from ADFS

Configuration of Javelo Service Provider

Here is a description for the configuration of your SAML service provider in Javelo. Please follow the instruction bellow. You will be then able to get any information you need to configure the Identity provider.


Configuration of Javelo Service Provider

Here is a description for the configuration of your SAML service provider in Javelo. Please follow the instruction bellow. You will be then able to get any information you need to configure the Identity provider.

Provider

As stipulated here above, the first step of the SSO configuration is to choose the name of Provider.

Javelo generates unique dedicated endpoints for your identity provider integration.

The name you will choose will be the base for these endpoints. Please ensure it only contains letters, number, underscore or hyphen. Example:

  • my-company_1 ✅

  • @my#organization_ ❌

⚠️ You should fill this value first, because some Identity provider configuration element are dependent.

Entity ID

Once you have proceeded with the configuration of the Identity Provider on ADFS side you will be able to fill the value for this field on Javelo side.

Entity ID of the Identity provider has the following format:

  • http://[your-adfs-domain]/adfs/services/trust

It is required in order to permit Javelo to fetch metadata to select the appropriate settings.

Metadata URL

After completing the configuration on Microsoft ADFS side, you can proceed to enter the Metadata URL of the identity provider.

Javelo relies highly on identity provider metadata to configure the service provider.

A valid URL is mandatory. The format of the provided URL is automatically tested by the form. A red message will appear below the field to inform you if the URL is invalid.

Metadata URL of ADFS identity provider has the following format:

  • https://[your-adfs-domain]/FederationMetadata/2007-06/FederationMetadata.xml

This metadata is frequently automatically refreshed.

Requests attributes

Three pieces of information are required during a SAML authentication process on Javelo :

  • The user email

  • The user first name

  • The user last name

Users may be created through SAML, and this is the very minimal payload that may be used for that purpose.

These elements must appear as Attribute elements inside the assertion request. For example : 

<Attribute Name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name">
<AttributeValue>DUPOND</AttributeValue>
</Attribute>

Here is the configuration of these attributes for Javelo :

💡 Default values on ADFS are compatible with Javelo service provider SAML V2 attributes configuration.

In case of custom implementation on ADFS side, please check the documentation and the configuration of your identity provider to set up this information correctly in order to ensure all of them are sent and to get their name and format.

Options

Force usage

The Force usage parameter will change the behaviour of the authentication process. If chosen, users are directly redirected to the SSO authentication page once the company is selected (through its subdomain or an email).

❗ Beware to use this option only if you are certain that all users are allowed to use your SSO.

Test mode

This option allows to set up the SSO configuration without any impact on the authentication process. Users will not be exposed to SAML V2 authentication, but it is available on a single, specific URL :

  • https://${SUBDOMAIN}.javelo.io/auth/login?provider=${PROVIDER} , see below to find that information.

You will be able to try your configuration, and make corrections if required.

We recommend using this option for the first configuration of your SSO. Once you have made sure your SSO is correctly configured, you can deactivate the Test mode by deselecting this option.

Allow user creation from SSO

This option allows to enable/disable the creation of new users from a connection done via SSO.

If the user does not already exist, it is created.

We recommend disabling this option if you are also using a synchronization, in order to avoid creation of unwanted accounts or duplicates with different email addresses linked to the same user.


Configuration of Identity provider

Here is the information you may need to configure the SAML V2 identity provider, and what you may need to test.

  • Javelo Callback URL : SAML Assertion service provider endpoint

  • Javelo Entity ID : service provider entity ID

  • Javelo Metadata URL : service provider metadata endpoint

  • Javelo Test URL : link to access The SAML identity provider in test mode

On ADFS, you have to create, or use an existing enterprise application :

You must add a Relying Party Trust in your ADFS Management. You can refer to the official documentation: while reading the items below. At the step of adding a Relying Party Trust, choose “Claims aware“.

Then, on the Select Data Source screen, use the option "Import data about the relying party published online or on a local network", use the Javelo URL.

The rest of the configuration should auto-populate from the information in the URL. In the last step, “Finish” check the box to configure the claims rules. You arrive on the following screen:

First, add a "Send LDAP Attributes as Claims" type rule:

On the next screen, use the Active Directory attribute store to configure request attributes XXXXXX mapping.

Also add the Given Name and Surname attributes in the same way.

Create another rule by clicking on “Add rule”, but this time select “Transform an Incoming Claim” as template:

On the next screen:

  1. Select Email-Address as the Incoming Claim Type.

  2. For Outgoing Claim Type, select Name ID.

  3. For Outgoing Name ID Format, select Email.

Keep the default, Pass through all claim values.

You should now be ready to test single sign-on!

Metadata refresh

Once created, you can manually refresh identity provider metadata on Javelo service provider. It is really useful in case you make some change on identity provider certificate for instance.


Important information 

There are few points to keep in mind with Saml V2 SSO integration on Javelo:

  • The SSO is mono-tenant

An SSO configuration may only be used to authenticate users for the same Javelo organization. If you have many organizations on the Javelo platform, you should have distinct SSO configurations for each.

  • There is one SSO configuration allowed per organization

Javelo doesn’t support for the moment more than one Saml V2 SSO configuration per organization.


Troubleshooting FAQ

  • email not found in request

This error means the attribute configuration is not correct for email. “Email” attribute is missing in the SAML assertion request.

  • name not found in request

This error means the attribute configuration is not correct for the first name. “Name” attribute is missing in the SAML assertion request.

  • last_name not found in request

This error means the attribute configuration is not correct for the last name. “Last name” attribute is missing in the SAML assertion request.

  • your account has been deactivated

The user has been deactivated on Javelo. Authentication is impossible.


Lexicon

  • Identity provider ⇒ The tool or service you use (KeyCloak for instance)

  • Service provider ⇒ SAML V2 Javelo side

  • Assertion request ⇒ http request from the identity provider to Javelo service provider sent after a successful authentication. It contains all attributes of an authenticated user.

Did this answer your question?