Tutorial: Integrate Expensify with Azure Active Directory

In this tutorial, you'll learn how to integrate Expensify with Azure Active Directory (Azure AD). When you integrate Expensify with Azure AD, you can:

  • Control in Azure AD who has access to Expensify.
  • Enable your users to be automatically signed-in to Expensify with their Azure AD accounts.
  • Manage your accounts in one central location - the Azure portal.

To learn more about SaaS app integration with Azure AD, see What is application access and single sign-on with Azure Active Directory.

Prerequisites

To get started, you need the following items:

  • An Azure AD subscription. If you don't have a subscription, you can get a free account.
  • Expensify single sign-on (SSO) enabled subscription.

Scenario description

In this tutorial, you configure and test Azure AD SSO in a test environment.

  • Expensify supports SP initiated SSO

To configure the integration of Expensify into Azure AD, you need to add Expensify from the gallery to your list of managed SaaS apps.

  1. Sign in to the Azure portal using either a work or school account, or a personal Microsoft account.
  2. On the left navigation pane, select the Azure Active Directory service.
  3. Navigate to Enterprise Applications and then select All Applications.
  4. To add new application, select New application.
  5. In the Add from the gallery section, type Expensify in the search box.
  6. Select Expensify from results panel and then add the app. Wait a few seconds while the app is added to your tenant.

Configure and test Azure AD single sign-on for Expensify

Configure and test Azure AD SSO with Expensify using a test user called B.Simon. For SSO to work, you need to establish a link relationship between an Azure AD user and the related user in Expensify.

To configure and test Azure AD SSO with Expensify, complete the following building blocks:

  1. Configure Azure AD SSO - to enable your users to use this feature.
    1. Create an Azure AD test user - to test Azure AD single sign-on with B.Simon.
    2. Assign the Azure AD test user - to enable B.Simon to use Azure AD single sign-on.
  2. Configure Expensify SSO - to configure the Single Sign-On settings on application side.
    1. Create Expensify test user - to have a counterpart of B.Simon in Expensify that is linked to the Azure AD representation of user.
  3. Test SSO - to verify whether the configuration works.

Configure Azure AD SSO

Follow these steps to enable Azure AD SSO in the Azure portal.

  1. In the Azure portal, on the Expensify application integration page, find the Manage section and select Single sign-on.

  2. On the Select a Single sign-on method page, select SAML.

  3. On the Set up Single Sign-On with SAML page, click the edit/pen icon for Basic SAML Configuration to edit the settings.

    Edit Basic SAML Configuration

  4. On the Basic SAML Configuration section, enter the values for the following fields:

    a. In the Sign on URL text box, type a URL: https://www.expensify.com/authentication/saml/login

    b. In the Identifier (Entity ID) text box, type a URL: https://www.expensify.com

    c. b. In the Reply URL text box, type a URL using the following pattern: https://www.expensify.com/authentication/saml/loginCallback?domain=<yourdomain>

    Note

    The Reply URL value is not real. Update this value with the actual Reply URL. Contact Expensify Client support team to get this value. You can also refer to the patterns shown in the Basic SAML Configuration section in the Azure portal.

  5. On the Set up Single Sign-On with SAML page, in the SAML Signing Certificate section, find Metadata XML and select Download to download the certificate and save it on your computer.

    The Certificate download link

  6. On the Set up Expensify section, copy the appropriate URL(s) based on your requirement.

    Copy configuration URLs

Create an Azure AD test user

In this section, you'll create a test user in the Azure portal called B.Simon.

  1. From the left pane in the Azure portal, select Azure Active Directory, select Users, and then select All users.
  2. Select New user at the top of the screen.
  3. In the User properties, follow these steps:
    1. In the Name field, enter B.Simon.
    2. In the User name field, enter the username@companydomain.extension. For example, B.Simon@contoso.com.
    3. Select the Show password check box, and then write down the value that's displayed in the Password box.
    4. Click Create.

Assign the Azure AD test user

In this section, you'll enable B.Simon to use Azure single sign-on by granting access to Expensify.

  1. In the Azure portal, select Enterprise Applications, and then select All applications.

  2. In the applications list, select Expensify.

  3. In the app's overview page, find the Manage section and select Users and groups.

    The "Users and groups" link

  4. Select Add user, then select Users and groups in the Add Assignment dialog.

    The Add User link

  5. In the Users and groups dialog, select B.Simon from the Users list, then click the Select button at the bottom of the screen.

  6. If you're expecting any role value in the SAML assertion, in the Select Role dialog, select the appropriate role for the user from the list and then click the Select button at the bottom of the screen.

  7. In the Add Assignment dialog, click the Assign button.

Configure Expensify SSO

To enable SSO in Expensify, you first need to enable Domain Control in the application. You can enable Domain Control in the application through the steps listed here. For additional support, work with Expensify Client support team. Once you have Domain Control enabled, follow these steps:

Configure Single Sign-On

  1. Sign on to your Expensify application.

  2. In the left panel, click Settings and navigate to SAML.

  3. Toggle the SAML Login option as Enabled.

  4. Open the downloaded Federation Metadata from Azure AD in notepad, copy the content, and then paste it into the Identity Provider Metadata textbox.

Create Expensify test user

In this section, you create a user called B.Simon in Expensify. Work with Expensify Client support team to add the users in the Expensify platform.

Test SSO

In this section, you test your Azure AD single sign-on configuration using the Access Panel.

When you click the Expensify tile in the Access Panel, you should be automatically signed in to the Expensify for which you set up SSO. For more information about the Access Panel, see Introduction to the Access Panel.

Additional resources