SAML v2 IdP Initiated
This feature is only available in an Essentials or Enterprise plan. Please visit our pricing page to learn more.
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.
Determines if this provider is enabled. If it is false then it will be disabled globally.
An optional UUID. When this value is omitted a unique Id will be generated automatically.
A unique name to identify the identity provider. This name is for display purposes only and it can be modified later if desired.
The EntityId (unique identifier) of the SAML v2 identity provider. This value should be provided to you.
If this is enabled, FusionAuth will assume that the
NameID in the SAML response contains the email address of the user.
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.
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.
A lambda maps custom claims returned from the SAML response into the FusionAuth
Registration. To learn more about creating a lambda, view the SAML v2 Reconcile lambda documentation.
To configure a lambda, navigate to Settings -> Lambdas.
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.
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.
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
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.
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.