With SAML Login, Auth0 acts as the service provider, so you will need to retrieve an X.509 signing certificate from the SAML IdP (in PEM or CER format); later, you will upload this to Auth0. The methods for retrieving this certificate vary, so please see your IdP’s documentation if you need additional assistance.
You can use the or the to upload the X.509 signing certificate. If you use the Management API, you must convert the file to Base64. To do this, either use a simple online tool or run the following command in Bash: cat signing-cert.crt | base64.
Next, you will need to create and configure a SAML Enterprise Connection in Auth0 and upload your X.509 signing certificate. This task can be performed using either Auth0’s Dashboard or Management API.
Enter details for your connection, and select Create:
Field
Description
Connection name
Logical identifier for your connection; it must be unique for your tenant and the same name used when setting the Post-back URL and Entity ID at the IdP. Once set, this name can’t be changed.
Sign In URL
SAML single login URL.
X.509 Signing Certificate
Signing certificate (encoded in PEM or CER) you retrieved from the IdP earlier in this process.
Enable Sign Out
When enabled, a specific Sign Out URL can be set. Otherwise, the Sign In URL is used by default.
Sign Out URL (optional)
SAML single logout URL.
User ID Attribute (optional)
Attribute in the SAML token that will be mapped to the user_id property in Auth0.
Debug Mode
When enabled, more verbose logging will be performed during the authentication process.
Sign Request
When enabled, the SAML authentication request will be signed. (Be sure to download and provide the accompanying certificate so the SAML IdP can validate the assertions’ signature.)
Sign Request Algorithm
Algorithm Auth0 will use to sign the SAML assertions.
Sign Request Digest Algorithm
Algorithm Auth0 will use for the sign request digest.
Protocol Binding
HTTP binding supported by the IdP.
Request Template (optional)
Template that formats the SAML request.
3. In the Provisioning view, configure how user profiles get created and updated in Auth0.
Field
Description
Sync user profile attributes at each login
When enabled, Auth0 automatically syncs user profile data with each user login, thereby ensuring that changes made in the connection source are automatically updated in Auth0.
Sync user profiles using SCIM
When enabled, Auth0 allows user profile data to be synced using SCIM. For more information, see Configure Inbound SCIM.
In the Login Experience view, configure how users log in with this connection.
This option displays the following choices to customize your application’s connection button.
Button display name (Optional)
Text used to customize the login button for Universal Login. When set the button reads: “Continue with {Button display name}”.
Button logo URL (Optional)
URL of image used to customize the login button for Universal Login. When set, the Universal Login login button displays the image as a 20px by 20px square.
Optional fields are available with Universal Login only. Customers using Classic Login will not see the Add button, Button display name, or Button logo URL.
If you have appropriate administrative permissions to complete the integration, click Continue to learn about the custom parameters needed to configure your IdP. Otherwise, provide the given URL to your administrator so that they can adjust the required settings.
Create an enterprise connection using the Management API
You can also use the Management API to create your SAML Connection. When doing so, you may choose to specify each SAML configuration field manually or else specify a SAML metadata document that contains the configuration values.
Make a POST call to the Create a Connection endpoint. Be sure to replace MGMT_API_ACCESS_TOKEN, CONNECTION_NAME, SIGN_IN_ENDPOINT_URL, SIGN_OUT_ENDPOINT_URL, and BASE64_SIGNING_CERT placeholder values with your Management API , connection name, sign in URL, sign out URL, and Base64-encoded signing certificate (in PEM or CER format), respectively.
Rather than specifying each SAML configuration field, you can specify a SAML metadata document that contains the configuration values. When specifying a SAML metadata document, you may provide either the XML content of the document (metadataXml) or the URL of the document (metadataUrl). When providing the URL, content is downloaded only once; the connection will not automatically reconfigure if the content of the URL changes in the future.
Provide metadata document content
Use the metadataXml option to provide content of the document:
When providing the URL, content is downloaded only once; the connection will not automatically reconfigure if the content of the URL changes in the future.
Refresh existing connection information with metadata URL
This process will only work if the connection was created with metadataUrl manually.
If you have a B2B implementation and federate to Auth0 with your own SAML identity provider, you may need to refresh connection information stored in Auth0, such as signing certificate changes, endpoint URL changes, or new assertion fields. Auth0 does this automatically for ADFS connections, but not for SAML connections.You can create a batch process (cron job) to do a periodic refresh. The process can run every few weeks and perform a PATCH call to /api/v2/connections/CONNECTION_ID endpoint, passing a body containing {options: {metadataUrl: '$URL'}} where $URL is the same metadata URL with which you created the connection. You use the metadata URL to create a new temporary connection, then compare the properties of the old and new connections. If anything is different, update the new connection and then delete the temporary connection.
Create SAML connection with options.metadataUrl. The connection object will be populated with information from the metadata.
Update metadata content in the URL.
Send a PATCH to the /api/v2/connections/CONNECTION_ID endpoint with {options: {metadataUrl: '$URL'}}. Now the connection object is updated with the new metadata content.
If you use the options parameter, you override the entire options object. Be sure all parameters are present.
To specify a custom Entity ID, use the Management API to override the default urn:auth0:YOUR_TENANT:YOUR_CONNECTION_NAME. Set the connection.options.entityID property when the connection is first created or by updating an existing connection.The JSON example below can be used to create a new SAML connection using the SAML IdP’s metadata URL while also specifying a custom Entity ID. The Entity ID is still unique since it is created using the name of the connection.
This connection type supports a Global Token Revocation endpoint, which allows a compliant identity provider to revoke Auth0 user sessions, revoke , and trigger back-channel logout for applications using a secure back-channel.This feature can be used with Universal Logout in Okta Workforce Identity.For more information and configuration instructions, see Universal Logout.