FusionAuth Reactor logo

This feature is only available in an Essentials or Enterprise plan. Please visit our pricing page to learn more.

Overview

Available since 1.26.0

Using IdP initiated SSO with this Identity Provider is not recommended and is inherently less secure than a service provider initiated login.

In general FusionAuth does not recommend you utilize this type of login due to the inherent risks of accepting an unsolicited authentication response from a third-party identity provider.

If you must enable this feature to support a legacy integration or because the user experience is of the highest concern, then proceed.

Please note that starting in version 1.43.0 this configuration is only necessary if you only want support for IdP initiated configuration. The SAMLv2 Identity Provider now offers a unified option to support both IdP and SP initiated login.

This FusionAuth Identity Provider allows you to configure FusionAuth to accept a SAML request initiated by a SAMLv2 identity provider. With this Identity Provider, FusionAuth is acting as the SAMLv2 service provider (SP).

Typically, a SAML flow begins at a service provider such as FusionAuth. In a service provider initiated login, the SAML Authentication Response is returned to the service provider in response to an authentication request. FusionAuth can validate certain parameters and only accept a response for a request that FusionAuth initiated.

In contrast, during an identity provider initiated login, the third-party identity provider sends FusionAuth a SAML Authentication Response indicating a user has been authenticated. FusionAuth did not initiate this request so it is unexpected and FusionAuth does not have the full context. This limits what can be verified and requires FusionAuth to allow a cross site request from this third party.

We also provide specific examples for configuring SAML with some providers whose implementation requires unique configuration. If you’d like us to provide additional examples, please open a request on GitHub.

Once you have completed this configuration you will be able to log in to FusionAuth directly from a SAMLv2 IdP.

Create a SAML v2 IdP Initiated Identity Provider

To create an Identity Provider navigate to Settings -> Identity Providers and click Add provider and select SAML v2 IdP Initiated.

This will take you to the Add SAML v2 IdP Initiated panel. Here you will need to fill out the required fields.

Add SAML v2 IdP Initiated

Form Fields

Enabled

Determines if this provider is enabled. If it is false then it will be disabled globally.

Idoptional

An optional UUID. When this value is omitted a unique Id will be generated automatically.

Namerequired

A unique name to identify the identity provider. This name is for display purposes only and it can be modified later if desired.

Issuerrequired

The EntityId (unique identifier) of the SAML v2 identity provider. This value should be provided to you.

Use NameId for emailoptional

If this is enabled, FusionAuth will assume that the NameID in the SAML response contains the email address of the user.

Email claimrequired

The name of the email claim returned in the SAML response.

When Use NameId for email is enabled this field will not be displayed and will not be required.

Verification keyrequired

The public key or certificate that you must import into FusionAuth’s KeyMaster. This is the public key provided to you by the identity provider.

Options

Add SAML v2 Options section

Form Fields

Reconcile lambdaoptional

A lambda maps custom claims returned from the SAML response into the FusionAuth User and Registration. To learn more about creating a lambda, view the SAML v2 Reconcile lambda documentation.

To configure a lambda, navigate to Settings -> Lambdas.

Debugoptional

Some identity providers are not compliant with the SAML and XML signing specifications. This makes it challenging to get them working with FusionAuth.

If you are running into integration issues, toggle this setting on and FusionAuth will output debugging information into the Event Log during a SAML login. You can find the event log in System -> Event Log.

Integration Details

After configuring the Identity Provider, FusionAuth will display values likely required by your SAML v2 Identity Provider to trust FusionAuth as a relying party. Do so by navigating to Settings -> Identity Providers and click the green magnifying glass on your SAML provider.

View the identity provider list

When viewing the details, scroll to the SAML v2 Integration details section. There you will find the necessary values to configure an integration with a SAMLv2 IdP.

SAML v2 Integration Details

View the SAMLv2 identity provider details

Fields

CORS Configuration

To complete the login request, the SAML v2 identity provider will make an HTTP POST request to the callback URL in FusionAuth. In order for this request to be allowed through the CORS filter you will need to navigate to Settings -> System -> CORS and add the SAML IdP origin as an Allowed Origin the CORS configuration.

Troubleshooting

To troubleshoot, turn on the Debug option and then navigate to System -> Event Log.

Proceed through the SAML flow and review the Event log entries to see if there are any configuration issues.