Hello everyone,
I’m working on a Facilities Management solution that uses Dynamics 365 Field Service for the backend. Instead of using Canvas apps or the out-of-the-box Field Service mobile app, we’re building our own front end with React Native. We also have a Node.js middle layer (hosted on AWS) that handles custom APIs and relays data to/from Field Service. For authentication, we have an Azure Function that stores our secret ID, client ID, tenant ID, etc., and we generate tokens via OAuth 2.0.
We chose React Native because our UI/UX team has very specific requirements that aren’t easily handled by Power Apps alone. Our main questions revolve around solution architecture and licensing compliance:
1.Architecture Validation
•Are there any official guidelines or Microsoft best practices about using a custom front-end (React Native) + Node.js middle layer with Field Service as the backend? We wanted to confirm we’re not violating any policies by bypassing Canvas or Model-driven app front ends.
2.License Requirements
•For every user logging into the React Native app, do we need a full Dynamics 365 Field Service license?
•Is there a scenario where Power Apps licenses (per app/per user) suffice, given we are primarily reading and writing data from Field Service tables?
•How does Microsoft view “multiplexing” in this scenario? If our Node.js layer calls Field Service APIs on behalf of multiple users, can we use a single “service account,” or do we need to license each individual?
3.OAuth & Azure Function Flow
•We’re issuing tokens to the mobile app users through Azure AD (Azure Function has the client/secret). Any recommended approach for ensuring each real user is properly licensed and recognized in Field Service?
•Any best practices for storing or refreshing tokens in a React Native + Node.js + Field Service architecture?