Expensify provides automation tools for expense management receipt tracking (see https://www.expensify.com). You can protect access to Expensify by integrating Expensify with Identity as a Service. Once integrated, users can use single sign-on to log in to their Expensify account through Identity as a Service.
Note: This integration was tested using Identity as a Service version 5.16 and Expensify Release March 2021. Other versions of Expensify may require integration and configuration steps that differ from those documented in this procedure. For other versions of Expensify, this integration guide may be used as an initial approach for integrating Expensify. In the event of other issues, contact support@entrust.com for assistance.
Before you begin, you need to validate your domain with Expensify. See the following documentation for information on how to validate your domain prior to completing the SAML configuration:
https://community.expensify.com/discussion/4644/how-to-claim-and-validate-your-domain-in-expensify/
To integrate Expensify with Identity as a Service, do the following:
Download the metadata from Expensify
Log in to your Expensify account as an administrator. Your home page appears.
Click Settings > Domains. The Domains page appears.
Click SAML. The SAML Login page appears.
Toggle to Enabled.
Scroll to Service Provider MetaData.
Copy the metadata and paste in into a text editor, such as Notepad.
Save the file as expensify_metadata.xml.
Add Expensify as an application to Identity as a Service
Log into your Identity as a Service administrator account.
Click
> Security > Applications. The Applications Lists page appears.
Click Add. The Select an Application Template page appears.
Do one of the following:
Select SAML Cloud Integrations from the search drop-down list and scroll to find the application you want to add to IDaaS.
- or -
In the Search bar, enter a search option to filter for the application you want to add to IDaaS.
Click Expensify. The Add Expensify page appears.
Enter an Application Name.
Enter an Application Description.
Optional. Add a custom application logo.
Click
next to Application Logo. The Upload Logo dialog box appears.
Click
to select an image file to upload.
Browse to select your file and click Open. The Upload Logo dialog box reappears showing your selected image.
If required, resize your image.
Click OK.
Select the Authentication Flow that appears to users during login.
Click Next. The General page appears.
Click
to the Upload Metadata XML and browse to the location of the metadata file you downloaded. The Metadata Configuration dialog box appears.
If required, click Merge with existing values to merge new values with existing values for Alternative Assertion Consumer Services URLs and SAML attribute names.
Click Save.
Enter the SAML Session Timeout to the time when the SAML Assertion times out. The maximum is 720 minutes.
Enter the Max Authentication Age (seconds) to set the maximum amount of time that can elapse before a user is required to reauthenticate during a new login attempt. This applies for both SP-initiated and IDP-initiated login. Set this field to -1 to disable this feature.
From the SAML NameID Attribute drop-down list, select Email.
Select the SAML Signing Certificate from the drop-down list.
Select Sign Complete SAML Response.
Optional: Select Respond Immediately for Unsuccessful Responses to return to the application immediately after a login failure, rather than allow user to try again with a different userID.
Deselect Enable Go Back Button if you do not want users to be able to go back to the Expensify login page to log in.
Select Show Default Assertion Consumer URL Service in the My Profile. When selected, the Default Assertion Consumer URL appears in a user's My Profile page in addition to relay states and Alternative Assertion Consumer URLs.
Optional. Add Alternative Assertion Consumer Service URLs, as follows:
Click Add.
Enter a Name.
Enter a URL Value.
Select Show in My Profile to display the Alternative Consumer Service URL in a user's My profile page.
Optional. Add an Application Logo.
Click Add.
Repeat these steps to add more Alternative Assertion Consumer Service URLs.
Click Submit.
Download the Metadata file from Identity as a Service
In Identity as a Service, click
> Security > Applications. The Applications List page appears.
Do one of the following:
Click
next to the application you are integrating with Identity as a Service.
–or–
Click
next to the application you are integrating with Identity as a Service and select SAML IDP Metadata.
The SAML Application Metadata dialog box appears.
Select the certificate to include in the SAML IDP Metadata file from the drop-down list.
If applicable, Select the domain to include in the SAML IDP Metadata file from the drop-down list.
Enter the Lifetime, in days, for the SAML IDP Metadata file. The value must be between 2 and 730.
Do one of the following, as required:
Copy the Public Endpoint to paste into your SAML application being used Identity Provider authentication.
Click Download.
Note: If you are using multiple domains, you must download each domain's metadata file separately because the values in the metadata file vary for each domain.
Configure Expensify for single sign-on
Log in to your Expensify account as an administrator. Your home page appears.
Click Settings > Domains. The Domains page appears.
Click SAML. The SAML Login page appears.
Open the metadata you downloaded in Step 4: Download the metadata from identity as a Service in a text editor, such as Notepad.
Copy the contents of the metadata file and paste them in to the Identity Provider Metadata field of the Expensify SAML Login page.
Expensify saves the configuration automatically.
Step 5: Test the integrationStep 5: Test the integration
Testing Service Provider Login
Open a Web browser and enter the URL for your Expensify account. You are directed to Identity as a Service.
Log in to your Expensify account User ID and click Next.
Respond to the second-factor authentication challenge. If you respond successfully, you are logged into Expensify.
Testing Identity as a Service redirect log in
Log in to your Identity as a Service account.
Go to your My Profile page if you are not already there.
Under Applications, click Expensify.
Respond to the second-factor authentication challenge. If you respond successfully, you are logged in to Expensify.