This guide explains how to set up Squirro Single Sign-On with Microsoft Active Directory Federation Services (ADFS).
Configure AD FS#
This walk-through assumes AD FS 2019, and the screenshots are from Windows Server 2019. The process is very similar on earlier versions.
Relying Party Trust#
Open the AD FS Console and “Add Relying Party Trust…”
Select the “Claims aware” option
Enter data about the relying party manually
For display name enter any name, for example: “Squirro”
Enable support for the SAML 2.0 WebSSO protocol. The service URL is
https://SQUIRRO/sso/callback(URL of your Squirro installation plus the path
For the relying party trust identifier enter
Decide on an Access Control Policy. For example limited to a given Active Directory group
In the last step confirm that you want to configure claims issuance policy
Add a new Rule
Choose the claim rule template “Send LDAP Attributes as Claims”
Select the “E-Mail-Address” attribute and send it as the “Name ID”. Additionally send the “Given Name” and “Surname”.
To pass over group memberships, create another claim rule - this one of type “Send Group Membership as Claim”
Fill out the parameters as follows:
The group membership claim rule can be added more than once, in case multiple groups should be sent over. A good idea is to have a administrator group (e.g. “Squirro_Admins” that is sent as a claim value).
Exchange Mailbox GUID#
If you are going to use the Squirro for Microsoft Outlook integration, Squirro needs to map the user’s Exchange mailbox GUID identifier. This needs to be passed on as an additional Claims Rule.
Edit the claim rule you created earlier, or create a new one, and add the LDAP attribute “msExchMailboxGuid”. As the outgoing claim type also use “msExchMailboxGuid”.
Export Federation Metadata#
FederationMetadata.xml file. This can be downloaded from the ADFS server at
Configure SAML Metadata#
To configure SAML Single Sign-On with the federation metadata file, go to the
Server space in Squirro and in the navigation on the left select
Single Sign-On (SAML).
Press the red plus button on the top right. Fill out the form:
Entity ID: leave empty for the default
Metadata file: upload the
Certificate file: can be left empty
User group: Select a user group which should be assigned to all SSO users - this is optional
Group names field: put in the value
- Mapping of groups to Squirro roles:this defines the server-wide permissions for SSO users based on the group names that were retrieved from the claimsExample value: Squirro_Admins=admin; Squirro=user; rejectThis example gives admin rights to all users in the Squirro_Admins group, normal access to all users in the Squirro group and rejects all other logins.
- If passing through the “msExchMailboxGuid” claim, then enter the following value in “Fields to map in as user values”:
For security reasons, the final configuration needs to be done directly on the server. Log into the server using SSH or similar means and edit the file
/etc/squirro/frontend.ini. Then append the following lines at the end:
[security] sso_enabled = true sso_endpoint = http://localhost:81/studio/extauth_saml/extauth
Reduce HTTP Session#
By default Squirro will keep user sessions for 30 days, surviving browser restarts as well. In a Single Sign-On environment, this should be changed to the session expiring once the user restarts the browser. This can be achieved by changing
/etc/squirro/frontend.ini and adding the following lines:
[frontend] session_permanent = false