Colorful graphic depicting computer connected to a large cloud with icons representing a multitude of integrations available.

Our Recent Experience Building a FileMaker Web Application with FileMaker Cloud

Transitioning to FileMaker Cloud for our client’s web app presented some interesting challenges, particularly with MFA and Data API authentication. Through research, experimentation, and adaptation we were able to address these issues. 

Xandon Frogget

Introduction to our FileMaker Web Application Project

We specialize in FileMaker application development and see frequently how building a web-based FileMaker app can significantly enhance your business’s efficiency and reach. I’ve observed firsthand how this technology can transform the way companies manage data and interact with customers. However, merging a web app with FileMaker data is not without its challenges.

Our latest venture involved building a web application for students to submit data through a form, pushing this data to a FileMaker solution for storage and analysis. This blog post chronicles our journey from the initial hosting strategy to navigating the unforeseen challenges presented by FileMaker Cloud: in particular, Multi-Factor Authentication (MFA) and Data API authentication, and shares the valuable insights we gained.

How It Started: The Initial Plan

Our client needed a scalable web application capable of managing student-entered data submissions. We engineered a solution utilizing Angular for the front end and Java for the back end, integrated with an SQL database. The objective was to forward this data to their FileMaker files hosted on an Amazon Web Services EC2 instance, utilizing FileMaker Data API’s basic authentication for smooth integration. Once this process had successfully passed our final testing phase, it was ready for deployment. As we were setting up the production environment, however, an unexpected change in plans occurred.

Screenshot of a FileMaker web application built for an online college residence hall application.

Shifting to FileMaker Cloud

As testing was concluding, a significant change in requirements prompted us to reassess our FileMaker server hosting solution. The client wanted to use MFA for their FileMaker user authentication requirements and wanted security certifications for the hosting environment. While there were several options, such as Google Oauth, they presented their own hurdles. FileMaker Cloud emerged as the leading option, both for its built-in MFA capabilities and its SOC2 compliance, offering enhanced security without the need for complex external configurations. We were optimistic about this seemingly straightforward transition from AWS EC2 hosting. Unfortunately, our optimism was quickly tempered by reality.

Discovering the Challenges of a FileMaker Web Application

We began by moving a test copy of the FileMaker files to FileMaker Cloud to test that environment. We hit a couple of snags. 

Transferring the FileMaker files to the new server proved challenging. Some of the existing container files were not secure and required updates, and while this fix was manageable, a few records resisted the process. Despite our efforts, some of the container data could not be migrated. We tried using the migration assistant to no avail and eventually deleted the records with problematic container fields before hosting the solution and importing the fields back afterward. A small subset of records failed to import with their container data, which led to a discussion with the client about the potential loss of these records. The client accepted the loss, opting to keep a local backup of the specific records for reference.

Screenshot of dialog for FileMaker container field options.

Authentication Hurdles

The next hurdle arose when updating the endpoint in the web app for data submission to FileMaker via the Data API; the process would stall during the authentication phase. After verifying the failure through Postman, we discovered significant differences in authentication handling with FileMaker Cloud.

Adopting FileMaker Cloud introduced a new set of challenges – Data API calls that had once worked seamlessly with our original on premise setup were now unsuccessful. A little more digging was in order!

The Journey to AWS Cognito

Our research led us to a blog post by Wim Decort, which detailed the process for managing FileMaker Cloud’s Data API authentication mechanism. Following the FileMaker Cloud documentation for their integration with AWS Cognito, we were able to create and host the web service provided to make it all work again. 

Depiction of how AWS Cognito functions with user pool and identity pool authentications, which we used to help a client access a FileMaker database on the web.

Embracing AWS Cognito

Once we had a test process, we attempted to rework that process into the backend of the web app, which used Java. Here we discovered some limitations with the AWS Cognito Java SDK, as it lacked flexibility when using the AWS Cognito authentication process with FileMaker Cloud. 

Ultimately, we fell back on hosting the web service using a node.js process to handle the AWS Cognito requests and postponed including it in the web app itself. In the future, we will host a microservice within the current web app’s Kubernetes cluster and will streamline deployment and management alongside the web app.

While the added overhead of using AWS Cognito was a bit of a surprise, the overall benefit included secure authentication using industry-standard protocols and algorithms, such as OAuth 2.0 and OpenID Connect.

Licensing Considerations for a FileMaker Web Application

We also learned additional details about licensing, user accounts needed to support this approach, and working with MFA. To use the FileMaker Data API requires having a user account to make the API request. That user also needs to have MFA disabled on their account. To protect this account, we opted for using a specific one that would only be used by the web app for making API calls. In this instance, where the clients were paying for a ten-user license, they had to dedicate one of those accounts for the Data API calls, lowering the total physical user count to only nine.

However, shortly after this deployment, Claris rectified the long-standing pain point of needing to use one of a client’s licenses for developer access and we were able to free up that tenth license for client use. Claris now provides a free-of-charge additional developer user on each FileMaker Cloud Essential instance and two such licenses for Cloud Standard accounts. We are grateful for this change – it means a smoother process for migration and onboarding, development and troubleshooting, and for providing ongoing support for our FileMaker Cloud customers.

Screenshot of the Users tab within the Claris Cloud Console

Lessons Learned

  • Java SDK Limitations: The Java SDK proved inadequate for this project, underscoring the necessity of versatility in selecting development tools.
  • Database Migration Issues: Initial attempts at database migration highlighted potential pitfalls, underscoring the need for thorough testing and contingency planning.
  • The Importance of Scalable Solutions: Integrating a third mission-critical dependency underscored the need to ensure that all components are reliable and scalable, to prevent bottlenecks or service interruptions.

Added Benefits of MFA, FileMaker Cloud Integration

  • Claris Partners can obtain a free developer license for working with a client’s FileMaker Cloud implementation.
  • AWS Cognito ensures secure sign-in with industry-standard protocols and algorithms, including OAuth 2.0 and OpenID Connect.

Conclusion

Transitioning to FileMaker Cloud for our client’s web app presented some interesting challenges, particularly with MFA and Data API authentication. Through research, experimentation, and adaptation we were able to address these issues. 

Screenshot of the success screen from a FileMaker web application built for online college residence hall applications.

We’re Tenacious

Whether you are looking to turn your FileMaker solution into a web application, need a solution built from scratch, or would like to transform your existing program, keep in mind a couple of things. We have the skills to accomplish what you’d like to have done – we’ve been in the FileMaker space for over thirty years. But we also have the ingenuity and insight to move through any hurdles that may arise. We research, learn, and iterate so that we can accomplish the goals you have for your company. Contact us below to make a plan for your ideas.

About the Author

Xandon Frogget, Senior Application Developer, brings 16 years of corporate experience at OfficeMax, where he designed FileMaker solutions for their large-scale printing and production facilities. He has a knack for working in corporate environments, understanding needs from the user’s point of view, and communicating and training staff for seamless transitions.

FAQ

What is Multi-Factor Authentication (MFA) in FileMaker Cloud?

MFA adds a layer of security, requiring users to verify identity through two or more verification methods before accessing the database.

How do I enable MFA for my FileMaker Cloud database?

Enable MFA through the FileMaker Cloud Admin Console under Security settings. Follow the prompts to set up authentication methods.

Can I use third-party authenticators with FileMaker Cloud MFA?

Yes, FileMaker Cloud supports third-party authenticators that use TOTP (Time-Based One-Time Password) algorithm, such as Google Authenticator.

What do I do if I lose my MFA device for FileMaker Cloud?

Contact your FileMaker Cloud administrator immediately to reset your MFA settings and regain access through a new device.

Is MFA required for all users of FileMaker Cloud?

MFA is highly recommended for enhanced security but can be configured for specific users or groups based on the administrator’s discretion.

Leave a Reply

Your email address will not be published. Required fields are marked *