Authentication Identity Configuration
This chapter explains how Innovapptive’s mobile applications (such as mWorkOrder, mRounds, and mTag) handle user authentication in a multi-tenant deployment environment. The authentication framework is based on federated Single Sign-On (SSO) and secure token-based session management.
It covers how users authenticate using enterprise-managed identity providers (such as Azure AD, Google, or Okta), how access and refresh tokens are managed, and how user data is synchronized with backend systems. This information is relevant for developers, implementers, and security teams configuring the authentication layer in customer deployments.
Component Overview
The authentication flow involves multiple systems working together to validate user
identity, issue secure tokens, and enable access to backend services. The table
below summarizes the core components involved:
Component | Description |
---|---|
Innovapptive DB | Stores tenant-specific configuration such as Tenant ID, SSO method (e.g., Azure, Google), Client ID, and Client Secret. |
Tenant ID | A unique identifier assigned to each customer environment. |
SSO Method | Specifies the identity provider (e.g., Cognito, Azure AD, Google, Okta) used for user authentication. |
Client ID & Secret | Credentials associated with the Innovapptive application registered in the tenant's SSO provider. |
Mobile App | The application being used — such as mWorkOrder, mRounds, or mTag — initiates the authentication request. |
Auth Server | Innovapptive’s authentication microservice, deployed in the tenant's cloud, is responsible for token issuance and user validation. |
Users Table | Managed by the Auth Server. Stores user records, including internal User ID, SSO identifier, and SSO-issued refresh tokens. |
SSO Server | The tenant-managed identity provider is responsible for authenticating users and issuing authorization codes and refresh tokens. |
Mongo User Directory | MongoDB Realm directory is used to authorize users for offline data sync and database access. |