One of the SAML identity providers (IdP) you can use is Entra ID.
Before setting up your Entra ID integration, please read over our Understanding SAML/SSO article to learn basic concepts and useful tips.
In order to get started with the setup of SSO with Entra ID, you will need:
- Administration abilities within Microsoft Entra.
- Admin or super-admin user role within Hudu.
- All users are provisioned in Entra with the same exact email address. We don't create new user accounts with SSO.
- Microsoft Account with Entra ID Premium activated.
- Ensure that the users have already been created in Hudu before starting this process.
Guides
How to Enable SSO
- Login to Hudu and click the Admin tab on the top toolbar.
- Click Security.
- Click Configure Single Sign-On.
- Enter SAML details. See the relevant section below on how to fill this information out.
- Click Enable Single Sign-On.
- Hit Update SAML Details and SAML should now be activated.
Configuring Entra ID
- In Microsoft Azure:
- Navigate to Microsoft Entra ID >> Enterprise Applications.
- Navigate to Microsoft Entra ID >> Enterprise Applications.
- Click to add a + New Application >> Create your own application.
- On the next screen, give your application a name, and click on Integrate any other application you don't find in the gallery (Non-gallery).
- If you don't have Entra Premium, you won't be able to add a name.
- Click Users and Groups and assign users to this application. Click + Add User to add users.
- Remember, users must have the same exact e-mail address as their Hudu account e-mail address.
- Then, click Single sign-on to configure SSO. Click SAML.
- Basic SAML Configuration:
-
- Click the Pencil Icon next to Basic SAML Configuration.
-
- Enter the following in the fields:
- Identifier (Entity ID): Enter your Hudu URL, e.g. https://docs.mywebsite.com
-
Reply URL (Assertion Consumer Service URL): Enter
https://docs.mywebsite.com/saml/consume
-
Sign-on URL: Enter
https://docs.mywebsite.com
- Relay State: You can skip filling this in.
- Logout URL: Enter a URL where Hudu can redirect users after they sign out.
- Make sure to replace docs.mywebsite.com with your URL and subdomain. There is also no trailing slash at the end of the URL.
- Enter the following in the fields:
- User Attributes & Claims:
-
- Click the Pencil Icon next to the User Attributes & Claims box.
-
- Click on Unique User Identifier (Name ID)
-
- If it's not already, set the Source attribute to user.userprincipalname and click Save.
- Please note that the user's UPN must match their email to use this source attribute.
- SAML Signing Certificate:
-
- Click the Pencil Icon next to the SAML Signing Certificate box.
-
- Enter an e-mail to receive notifications and click Save.
-
Final Setup:
- Finally, the 4th box that says Set up <application-name> will contain the information that needs to be inputted into your Hudu admin area > Security > SSO Settings.
Configuring Hudu
- In Hudu, with a user role of Admin or Super Admin:
- Navigate to your Hudu admin area >> Security >> SAML/SSO Configure.
- Provide Identity Provider (IdP) information:
- This is the information from the final setup step above.
-
SAML Issuer URL: This is what Entra ID calls their "Microsoft Entra Identifier." Copy this exactly into Hudu.
- This SHOULD include the trailing "/".
- SAML Login Endpoint: This is what Entra ID calls their "Login URL." Copy this exactly into Hudu.
- SAML Logout Endpoint: This is what Entra ID calls their "Logout URL." Copy this exactly into Hudu.
-
SAML Fingerprint:
- Copy the thumbprint that was generated and paste it into the SAML Fingerprint field.
- Download and copy the PEM certificate and paste it into the SAML Certificate field. Make sure there is no extra space trailing at the end!
- Note that the thumbprint given in the SAML Signing Certificate box is the SHA-1 fingerprint.
In order to obtain the SHA-256 thumbprint: Download the PEM certificate and paste into https://developers.onelogin.com/saml/online-tools/x509-certs/calculate-fingerprint
Select the SHA-256 algorithm, and copy the fingerprint provided (formatted or not). - If using SHA-256, ensure that you click 'Use SHA-256' in Hudu.
- SAML Certificate: This is provided by Entra ID, and should be the same certificate used to configure the fingerprint; copy this exactly.
-----BEGIN CERTIFICATE----- and -----END CERTIFICATE----- should be included.
- SAML ARN: This signifies the Authentication Context that Hudu will provide to the IdP. AuthnContext is the method by which a user tries to log in (i.e. via password, passwordless, etc.).
- If you specify Do not pass RequestedAuthnContext in your request, the URN is used by the IdP to say "I don't want to tell you how I identified the user".
- Requested Authentication Context may be required for your IdP, but it is typically optional.
- If you have users that use Passwordless login to your IdP; do not pass RequestedAuthnContext must be selected.
- If you specify Password in your request, the IdP knows it has to authenticate the user through login/password.
- If you specify PasswordProtectedTransport in your request, the IdP knows it has to authenticate the user through login/password, protected by SSL/TLS.
- Requested Authentication Context may be required for your IdP, but it is typically optional.
3. Click Enable Single Sign-On.
4. Hit Update SAML Details and SAML should now be activated.
Testing SAML
Open an incognito window and try and access Hudu. You should be redirected to the login page, where you will see a "Use Single Sign On (SSO)" button. If you are able to successfully log in via this button, your SAML is working!
You can also click 'Test SAML' from within your Hudu SAML app in Entra ID.
Exempt Groups from SSO
You have the option to select groups to exempt from SSO. Admins and portal members are always exempt.
FAQ
Entra ID x509 multi-factor error
Answer: Change SAML ARN to Do Not Pass RequestedAuthnContext (in Hudu)
Notes: Entra ID is restricting access due to the user's authentication context (the method by which they’re logging in). Likely the SAML ARN is set to Password or Password-ProtectedTransport, and the user is using some form of “passwordless” login. Entra ID rejects this because the user is not entering a username/password.