Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Section


Column

frevvo supports the Azure Security Manager for Single Sign On. Users/roles are automatically pulled from Azure AD into frevvo cloud tenants and on-premise installations. Users are redirected to the Microsoft Azure login screen for authentication.

frevvo recommends using the SAML Security Manager for customers who want to manage users/roles from the frevvo UI.


Column
width450px

On this page:

Table of Contents
maxLevel4


...

Required: The frevvo.TenantAdmin and frevvo.Designer groups must be specified on your Active Directory server. The group names must be spelled as shown. Upper/lower case may be a factor for Open LDAP systems. These groups are required.

  • Tenant admin users must be assigned to the frevvo.TenantAdmin group.
  • Designer users must be assigned to the frevvo.Designer group

Optional: There are two additional roles in frevvo - frevvo.Publisher and frevvo.ReadOnly.  These roles are optional.

  • In order to give a user the frevvo.publishers role, create the frevvo.Publisher group in your AD and assign users to it. Refer to the Publisher Role Documentation for an explanation of this role.
  • In order to give a user the frevvo.ReadOnly role, create the frevvo.ReadOnly group in your AD and assign users to it. Following frevvo Best Practice eliminates the need for this role.

Other than these four groups, please do not name any other Azure groups with the 'frevvo.' prefix as this can cause problems reading user details.

Warning
  • Contact the frevvo Customer Success team to schedule your Security Manager configuration.
  • frevvo Best Practice recommends that you create a user account in your Active Directory that will house all of your deployed Production forms/workflows. This user can be named anything i.e.frevvoProduction but it must be a member of the frevvo.Designer group
  • Review the documentation on Preserving Projects/Forms/Workflows developed in your trial/starter tenant BEFORE changing security managers.
  • frevvo only supports the Azure Security Manager when frevvo is running in the tomcat container. Refer to our Supported Platforms for the list of supported/certified Application Servers.

...

Step 1 - Create an Application for frevvo in Azure

...

  1. Log in to the Microsoft Azure Management console: https://manage.windowsazure.com or https://portal.azure.com with your Azure global administrator account.
  2. Click on the Azure Active directory link on the left side of the screen.

  3. Click on the App Registrations link.

  4. Click on the New application registration link for creating a new application.

  5. Enter the following details:
    1. Name:- Name of your frevvo Azure application
    2. Select who can use this application or access this API
  6. Configure the Redirect URL:
    1. Cloud Customers should use https://app.frevvo.com:443/frevvo/web/saml/SSO/alias/{t} - replace {t} with the name of your frevvo tenant.

      Info

      For example, if you were changing the Security Manager from the Default Security Manager to the Azure SAML Security Manager for a frevvo Cloud tenant named mycompany.com, the REPLY URL would be:

      https://app.frevvo.com:443/frevvo/web/saml/SSO/alias/mycompany.com 


    2. On-premise customers should use http https://<server>:<port>/frevvo/web/saml/SSO/alias/{t} - replace <server> with the ip of your server, <port> with the port number (if applicable) and t with the name of your frevvo in-house tenant.

      Info

      For example, if you were changing the Security Manager from the Default Security Manager to the Azure SAML Security Manager for a frevvo in-house tenant named mycompany.com, the REPLY URL would be:

      https://<server:port>/frevvo/web/saml/SSO/alias/mycompany.com 


    3. Click Register.
  7. Select the frevvo application from the list.
  8. Click the Branding tab
  9. Configure the Home Page URL:
    1. Cloud Customers should use https://app.frevvo.com:443/frevvo/web/tn/{t}/login - replace {t} with the name of your frevvo Cloud tenant.

      Info

      For example, if you were changing the Security Manager from the Default Security Manager to the Azure SAML Security Manager for a frevvo Cloud tenant named mycompany.com, the SIGN-ON URL would be:

      https://app.frevvo.com:443/frevvo/web/tn/mycompany.com/login


    2. On-premise customers should use http https://<server>:<port>/frevvo/web/tn/{t}/login - replace <server> with the ip of your server, <port> with the port number (if applicable) and t with the name of your frevvo in-house tenant.

      Info

      For example, if you were changing the Security Manager from the Default Security Manager to the Azure SAML Security Manager for a frevvo in-house tenant named mycompany.com, the SIGN-ON URL would be:

      https://<server:port>frevvo/web/tn/mycompany.com/login


    3. Click Save.
  10. Click on the API Permissions tab.
    1. Click Add a Permission.
    2. Select Microsoft Graph.
    3. For Application Permissions, select Directory.Read.All and optionally Directory.ReadWrite.All (under Directory).
    4. For Delegated Permissions, select User.Read. (This permission may already be present.)
    5. Click on the Grant Permissions button select "Yes" option and click on the Save button.
  11. Click on the Expose an API tab.
    1. Click Add a Scope. See this Microsoft Azure documentation for details.
    2. By default, Azure provides the ApplicationID URI as api://<appId>.For example

      Code Block
      api://3f2fd3fd-67f5-423e-95bc-c01d3712966c

      You may use a different AppID URI if desired. This table lists supported* formats:

      *See this Microsoft documentation for additional available formats. frevvo has not verified every format, so please use those not listed here with caution.

    3. Click Save and Continue.
    4. Provide the required attributes and choose a consent option. Usually, this will be Admins and Users.
  12. Click the Certificates & secrets tab.
    1. Generate the Client Secret. Copy the new secret's Value and save it in a notepad - you will need this for the frevvo tenant screen. 


  13. Click the Overview tab.
    1. Copy the Application ID into your notepad. This is the value of the Client ID on the frevvo configuration screen.
    2. Copy the Directory ID into your notepad. This is the value of the Tenant ID on the frevvo configuration screen.
      Click Endpoints at the top of the screen. Copy the Federation Metadata Document URL from the list to your notepad. This is the URL that you will use to generate the Azure metadata

      Code Block
      titleExample of the Federation Metadata Document URL
      https://login.microsoftonline.com/3d532ac1-a43c-45c7-b0e9-cc814400ca11/federationmetadata/2007-06/federationmetadata.xml


  14. Proceed to Step 2 - Create the frevvo metadata file
Warning

Just a reminder - you will need the Azure tenant ID, the client id and client secret for the frevvo application when configuring your frevvo Azure SAML tenant.

We recommend making a note of your Client Secret expiration date. You will need to refresh it prior to the expiration to ensure continued access to frevvo. See this Microsoft article for details. 

Step 2 - Create the frevvo metadata file

Follow these steps to generate the frevvo metadata for your Azure SAML tenant. You can do this even if the tenant has not been created yet.

...

  1. Cloud Customers: https://app.frevvo.com:443/frevvo/web/saml/metadata/alias/{t} - replace {t} with the name of your frevvo tenant - Ex; azuread

  2. On-premise customers: http https://<server>:<port>/frevvo/web/saml/metadata/alias/{t} - replace <server> with the ip of your server, <port> with the port number (if applicable) and t with the name of your frevvo tenant.

...

To successfully create a frevvo tenant using the Azure SAML Security manager, you will need the following:

...

  1. Select Azure SAML Security Manager from the Security Manager Class dropdown. (If changing from default or LDAP, click "Change", then select the Azure SAML Security Manager.)
  2. Paste Metadata.


    1. frevvo is the "Service Provider." Copy the frevvo metadata into the Service Provider Metadata field. You can include the xml prolog when you paste the Service Provider (frevvo) metadata.



    2. Azure is the "Identity Provider". Copy the Azure tenant metadata and paste it into the Identity Provider Metadata field.



    3. URL: Enter the Federation Metadata Document URL that you copied from Endpoints in your frevvo Azure application. The URL is needed to handle Signing key rollover in Azure Active Directory. This URL is polled and refreshes the Azure IDP metadata every 3 hours. The new metadata is stored and automatically used as backup in case the URL is not accessible.

      Code Block
      titleExample of Federation Metadata Document URL
      https://login.microsoftonline.com/fece6b7e-fbc6-4b3a-8287-fc07c29aa2d2/FederationMetadata/2007-06/FederationMetadata.xml  


  3. Apply All Groups and/or All Users Filters (optional). By default, frevvo will read all users and all groups. You may apply a filter to limit this for users and/or groups. To apply a filter, you should have knowledge of the specific user/group properties and the correct syntax; please see this Azure filter documentation for supported operators and functions. There is no filter validation on the Edit Tenant page. For example, if you have groups specific to frevvo workflows that begin with "frevvo" you can set your groups filter to startsWith(displayName, 'frevvo'); if you want to limit frevvo users to only your domain, your users filter could be endsWith(userPrincipalName,'@doccuphasesandbox.onmicrosoft.com'). 

  4. Check the Ignore Case checkbox if you are using LDAP for authentication and you want frevvo to ignore the case stored in LDAP systems for users/roles. The field is checked by default. Refer to the Mixed or Upper case User Names topic for more information.
  5. Enter the User Id. This should be the User property name that identifies the user. A typical value is userPrincipalName, mailNickname, etc.
  6. Optional: Custom attributes can be mapped by typing the attribute names in the Custom field separated by a comma.

...

Configure a tenant admin account. This account does not require Azure SAML authentication. This tenant admin can log directly into frevvo.

  1. The tenant admin id, password and email fields are required. The Change password on next login is optional. It is checked by default.
  2. When this tenant admin performs a form-based login i.e. /frevvo/web/login, the password entered on this screen is used for authentication. This is also the URL used by the API. For cloud customers the <base> is always https://app.frevvo.com.
  3. If the tenant based login url is used i.e. /frevvo/web/tn/{t}/login then the Azure SAML login is used.

...

Logged in User Display in Azure SAML frevvo tenant

If your Azure SAML userIds are in the format <username>@<domain name>, when you log in to frevvo the frevvo tenant name is appended to the userId . This is as designed. You will see <username@domain name@frevvo tenant name> as the logged-in user at the top of the screen. If your domain name is the same as your frevvo tenant name, it will appear as if the domain name is listed twice.

Azure SAML Tenant Built-in Admin User

Just a reminder that the tenant admin account can login directly into frevvo or use the Azure SAML login.

When you create/edit a new tenant you are prompted to set up/modify a tenant admin user id, password and email address. This tenant admin does not authenticate via your Azure SAML IDP. It only exists in frevvo. If you experience an issue with your Azure SAML configuration such that you can't login as an Azure SAML authenticated user, use the built-in admin user to login to your tenant as a tenant admin in order to fix your Azure SAML configuration issue. Only one built-in tenant admin account is supported.

Image Modified

Browse this URL to login as the built-in: <base_URL>/frevvo/web/admin/login. When specified, frevvo will prepend the base URL to the URLs in your Form/Document Actions. The <base_URL> is typically http(s)://<your servername>:<port>.

...

If your tenant originally used the Default Security Manager and then you changed to the Azure SAML Security Manager, this tenant admin account has already been set up. If you have forgotten the password, you can change it by :

Browsing the admin specific URL - <base-url>/frevvo/web/admin/login. Enter the built-in userid. Click  Forgot Password? This error message displays if any other user clicks on the Forgot Password? link after browsing the admin-specific URL:

Image Modified

Logging in as an Azure SAML authenticated tenant admin and changing the password via Manage Users.

Tip

The frevvo superuser admin (Cloud customers) and the in-house superuser can change the password for the built-in userid from the Edit Tenant page.

What if you do not remember the userid of your original tenant admin? Follow these steps:

...

Click Manage Users and click the edit admin icon.

Tip

The frevvo (Cloud customers) and in-house superuser can see the built-in tenant userid from the Edit Tenant page.

Session Timeout

Session timeouts are configured in frevvo and in your Azure SAML IDP. If a user's session ends before the IDP timeout is reached, they will automatically be logged back into frevvo if they try to access it again. It is recommended that the frevvo session timeout and the IDP session timeout be configured for the same value.

...

Code Block
Application error processing /frevvo/web/login?null java.lang.UnsupportedOperationException: null

Accessing a portal in an AzureAD tenant on a mobile device will not display a logout button.

Skew error when logging into an Azure tenant

Users logging into a frevvo Azure SAML tenant may encounter the error "Access Denied.  Authorization Required". Examination of the frevvo.log shows the following entry:

Code Block
Response issue time is either too old or with date in the future, skew 60, time 2016-06-01T05:49:25.330Z


This error is typically caused by a clock synchronization issue between the SP (frevvo) and the Idp (Azure) or a genuine delay in the connection. If you get this error, you can change the value of the context parameter, com.frevvo.security.saml.response.skew, to specify the time in seconds allowed between the SAML request and response to a value greater than the default value of 60 seconds.

Follow the instructions listed in the Installation Tasks chapter to add the parameter.

...

If you see an error like "cannot get user details" when using business rules to populate user info, please ensure that your Azure groups do not include "frevvo." in the name (other than the 4 roles mentioned above: frevvo.Designer, frevvo.TenantAdmin, frevvo.Publisher, and frevvo.ReadOnly.)

...