Section | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
...
- You will need a valid Microsoft Azure subscription
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
Warning |
---|
|
...
- Create an Application for Live Forms frevvo in Azure
- Create the Live Forms frevvo metadata file
- Create the Azure Tenant IDP metadata file
- Create/edit the Live Forms frevvo tenant
- Log into your Live Forms frevvo tenant
Step 1 - Create an Application for
...
frevvo in Azure
frevvo assumes that customers have someone on staff that can successfully perform this step of the procedure. Information about is listed below to help you with this process.
...
Expand | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||
|
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.
...
- Log onto as the superuser (on-premise) or the tenant admin (cloud).
- Access the Add Tenant (on-premise) or Edit Tenant (cloud) screen.
- Select Azure SAML Security Manager from the Security Manager Class dropdown.
- Copy the Service Provider (frevvo) metadata into the Service Provider field. You can include the xml prolog when you paste the Service Provider (frevvo) metadata.
- Copy the metadata from the Azure tenant IDP file previously created and paste it into the Identity Provider field.
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 title Example of Federation Metadata Document URL https://login.microsoftonline.com/fece6b7e-fbc6-4b3a-8287-fc07c29aa2d2/FederationMetadata/2007-06/FederationMetadata.xml
Check the Ignore Case checkbox if you are using LDAP for authentication and you want 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.
Enter the User Id. This should be the User property name that identifies the user. A typical value is userPrincipalName, givenname etc.
- Custom attributes can be mapped by typing the attribute names in the Custom field separated by a comma.
- Enter the following information in the API Access section.
- Enter the Azure tenant identifier into the tenant Id field. This can be obtained by viewing the endpoint Urls listed when you click View Endpoints in your frevvo Azure application.
- Enter the client id and client secret key that were created as part of registering the frevvo application into the respective fields.
- Configure a tenant admin account. This account does not require Azure SAML authentication. This tenant admin can log directly into providing a default security manager built-in.
- The tenant admin id, password and email fields are required. The Change password on next login is optional. It is checked by default.
- 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.
- If the tenant based login url is used i.e. /frevvo/web/tn/{t}/login then the Azure SAML login is used.
The forgot password function works for an Azure SAML tenant admin user. For all others, it will display the error message about not being supported for the tenant. - Configure the Business Calendar for your tenant. The escalation feature will use this calendar to calculate deadlines and send notification and reminder emails.
- Enter HTTP Auth credentials if required. Credentials for external secure web services accessed by the forms and flows in your tenant can be specified in this section.
- Click Submit.
Step 5 - Logging into a
...
frevvo Azure SAML Tenant
- Paste this tenant specific URL into your browser:
Cloud Customers: https://app.frevvo.com:443/frevvo/web/tn/{t}/login - Replace {t} with the name of your Azure SAML tenant.
- On-premise Customers:http://<server>:<port>/frevvo/web/tn/{t}/login. Replace <server> and <port> with your server information and t with the name of your Azure SAML tenant.
The user is redirected to the Azure login screen.
If the user is authenticated, screens display depending on the level of authorization specified for the user. Designer users will see the Application Projects Home Page while non-designer users will be directed to their Task List.
You will see this redirection when logging into a space as well.
Note |
---|
|
Logged in User Display in Azure SAML
...
frevvo tenant
If your Azure SAML userIds are in the format <username>@<domain name>, when you login to the 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 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 Live Forms 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 Live Forms frevvo. If you experience an issue with your Azure SAML configuration such that you can't login as an Azure SAML authenticated user, use this account 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.
Browse this URL to login as the built-in admin: <base_URL>/frevvo/web/admin/login. When specified, will prepend the base URL to the URLs in your Form/Document Actions. The <base_URL> is typically http(s)://<your servername>:<port>. For cloud customers the <base> is always https://app.frevvo.com.
- You must use the admin specific URL - <base-url>/frevvo/web/admin/login - to login as the built-in admin.
- Non admin users can also login using the admin specific URL.
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 setup. 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 admin userid. Click Forgot Password? This error message displays if any other user clicks on the Forgot Password? link after browsing the admin specific URL:
- Logging in as a 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 admin userid from the Edit Tenant page. |
What if you do not remember the userid of your original tenant admin? Follow these steps:
- Login as your authenticated Azure SAML tenant admin
- Click Manage Users and click the edit admin icon.
Tip |
---|
The frevvo (Cloud customers) and in-house superuser can see the built-in admin tenant userid from the Edit Tenant page. |
Session Timeout
Session timeouts are configured in 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 if they try to access it again. It is recommended that the session timeout and the IDP session timeout be configured for the same value.
...
Info |
---|
Embedding forms and flows into your website is NOT supported if the the visibility of the form is set to Public in Tenant and the user is NOT already authenticated to Azure SAML. This is because frevvo must direct the user to the IDP login screen and the browser will not allow loading the IDP login page in frevvo's form iframe. |
Troubleshooting
Logging into a Azure SAML tenant as (user@Azure SAML tenant name)
Logging into a Azure SAML tenant as (user@Azure SAML tenant name) displays an application error message.
On-premise customers using the tomcat bundle will see the following entry in the error log:
Code Block |
---|
Application error processing /frevvo/web/login?null java.lang.UnsupportedOperationException: null |
Accessing a Space in a AzureAD tenant on a mobile device will not display a logout button.
Skew error when logging into an Azure tenant
Users logging into a Live Forms 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 |
Follow the instructions listed in the Installation Tasks chapter to add the parameter.
Login into the Azure SAML tenant fails
If the login into your Azure SAML tenant fails and the log reports the following error, you may have to edit your Azure SAML tenant to add the metadata URL. T
Code Block |
---|
org.opensaml.xml.validation.ValidationException: Signature is not trusted or invalid. |
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 used as backup in case the URL is not accessible. Refer to Step 6 above for the details.
Retrieving Custom Attributes from Azure Active Directory in an Azure SAML Tenant
The Azure AD Graph API allows access to users, groups etc... in Azure AD. User entity attribute data exposed by the API for the logged in user can be pulled into fields in your form/flow with a business rule. If the attribute that you are looking for is not already exposed, you can:
- Sync Azure AD to your in-house AD via the Microsoft provided connector
- Add an extension property
Once the custom attributes are made available, add them to the Custom section of your Azure SAML tenant.
...
...
Section | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Using the SharePoint Connector in an Azure SAML Security Manager tenant
At least one designer user that is going to be connecting forms/flows to SharePoint with the Save to SharePoint wizard must also be a SharePoint user with the correct privileges to provide consent if your tenant is configured with the Azure SAML Security Manager .
...
Retrieving Custom Attributes from Azure Active Directory in an Azure SAML Tenant
The Azure AD Graph API allows access to users, groups etc... in Azure AD. User entity attribute data exposed by the API for the logged in user can be pulled into fields in your form/flow with a business rule. If the attribute that you are looking for is not already exposed, you can:
- Sync Azure AD to your in-house AD via the Microsoft provided connector
- Add an extension property
Once the custom attributes are made available, add them to the Custom section of your Azure SAML tenant.
- Login to your Azure SAML tenant as the as the tenant admin.
- Click the Edit Tenant link
- Add the custom attributes to the Custom section as a comma separated list. The image shows the department and displayName attributes listed in the custom attribute section.
- Design your form/flow with fields to collect the information.
- Write a business rule to populate the controls with the custom attribute information.
Section | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Using the SharePoint Connector in an Azure SAML Security Manager tenant
At least one designer user that is going to be connecting forms/flows to SharePoint with the Save to SharePoint wizard must also be a SharePoint user with the correct privileges to provide consent if your tenant is configured with the Azure SAML Security Manager .
Troubleshooting
Logging into a Azure SAML tenant as (user@Azure SAML tenant name)
Logging into a Azure SAML tenant as (user@Azure SAML tenant name) displays an application error message.
On-premise customers using the tomcat bundle will see the following entry in the error log:
Code Block |
---|
Application error processing /frevvo/web/login?null java.lang.UnsupportedOperationException: null |
Accessing a Space in a 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.
Login into the Azure SAML tenant fails
If the login into your Azure SAML tenant fails and the log reports the following error, you may have to edit your Azure SAML tenant to add the metadata URL. T
Code Block |
---|
org.opensaml.xml.validation.ValidationException: Signature is not trusted or invalid. |
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 used as backup in case the URL is not accessible. Refer to Step 6 above for the details.
Azure SAML Errors
The table below lists errors you may encounter when configuring your tenant with the Azure SAML Security Manager. Verify the recommended values to resolve.
Parameter | Value to Verify | Error on Edit Tenant Page | Error While Accessing Tenant |
---|---|---|---|
SP metadata | Use a domain for which an application is not added in Azure | No issue updating tenant | Login will redirect to Microsoft login. After entering credentials, following appears on the page: Sorry, but we’re having trouble signing you in. We received a bad request. Additional technical information: Correlation ID: 4a94d6f0-fcab-4953-8a4b-252cc18e938a Timestamp: 2017-11-03 10:03:44Z AADSTS70001: Application with identifier 'http://example.com:8082/frevvo/web/alias/testlink' was not found in the directory fece6b7e-fbc6-4b3a-8287-fc07c29aa2d2 No logs in frevvo |
Invalid XML | org.opensaml.xml.parse.XMLParserException: Invalid XML | ||
Removed contents from metadata: <md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" ID="http___localhost_8082_frevvo_web_alias_testplan" entityID="http://localhost:8082/frevvo/web/alias/testlink"> </md:EntityDescriptor> | No issue updating tenant | Application Error javax.servlet.ServletException: org.opensaml.saml2.metadata.provider.MetadataProviderException: No local entity found for alias testlink, verify your configuration. Logs : same exception with stack | |
IdP metadata | Do not remove Signature and RoleDescriptor sections | Tenant added successfully | No errors but we should not use it (https://www.identityguy.com/articles/2013/6/4/a-look-at-azure-ads-web-sign-in-endpoints.html) |
Removed certificates(<X509Certificate>) from IdP metadata xml | Tenant added successfully | No errors as we are providing the URL for IdP | |
Tenant Id | Wrong value | UI : Group access failure: HttpClientErrorException: 400 Bad Request Logs : Same exception with stack | NA |
Client Id | Wrong value | UI : Group access failure: HttpClientErrorException: 400 Bad Request Logs : Same exception with stack | NA |
Client Secret | Wrong value | UI : Group access failure: HttpClientErrorException: 401 Unauthorized Logs: Same exception with stack | NA |
User Id | Wrong value | UI : User access failure: HttpClientErrorException: 400 Bad Request Logs : same with stack | NA |
Tenant ID in frevvo | A value for which metadata was not generated and app was not created in Azure AD | Tenant updated successfully | UI : Access Denied. Authentication required. Logs: 2017-11-03 16:36:50.152 WARN diff a416e8eb-d7d2-4d30-a7cc-fb7ceb7a5814 776 --- [http-nio-8082-exec-10] com.frevvo.forms.web.LoginResource : Login failure org.springframework.security.authentication.AuthenticationServiceException: Error determining metadata contracts log contains stack trace |
Admin user id | A value not present in AD | Tenant updated successfully | No errors. users can login and use frevvo. admin@frevvo.com still has tenant admin properties. |