Mobile Authentication via Microsoft Intune MDM
Frontline workers on managed iOS devices authenticate into Entra directly through the 1Kosmos app. When the app launches, it opens the Entra sign-in page. The user selects 1Kosmos as the authentication option, completes a LiveID selfie, and is logged in — no password required.
Prerequisites
In addition to the common prerequisites above:
Microsoft Intune Admin Center access (Intune Administrator or Application Administrator role in Azure AD)
1Kosmos iOS app (
.ipafile) available via the shared OneDrive linkTarget user/device group created in Azure AD
Configure Microsoft Entra Application
The Entra app registration provides the credentials that 1Kosmos uses to register and authenticate passkeys on behalf of users.
Sign in to the Microsoft Entra portal and navigate to App registrations
Create a new application (or use an existing one configured for 1Kosmos)
Under API permissions, add the application permission
UserAuthenticationMethod.ReadWrite.Alland grant admin consentGo to Certificates & secrets and generate a new client secret
Note down the Tenant ID, Client ID, and Client Secret - these are required for the workflow secret store
Configure the Workflow Secret Store
The registration workflow requires four secrets configured in the workflow's secret store on the AdminX console. These values are resolved at runtime and are not hardcoded in the workflow.
ecdsaKeyset
JSON
{"privateKey": "...", "publicKey": "..."} - ECDSA P-256 key pair in base64
licenseKey
String
1Kosmos service external license key
wfPrivKey
String
Workflow private key for LiveID wallet decryption - retrieved from the database
entraAppCreds
JSON
{"tenantId": "...", "clientId": "...", "clientSecret": "..."} - from Entra app registration
The authentication workflow requires two secrets:
ecdsaKeyset
JSON
{"privateKey": "...", "publicKey": "..."} - ECDSA P-256 key pair in base64
licenseKey
String
1Kosmos service external license key
Deploy Workflow JSONs
Both the registration and authentication workflow JSONs must be manually injected into the Production database. The Workflow UI import function and Swagger cannot be used for this.
Before deploying, update the data.dvcId field in the workflow JSON root to match your community's LiveID device ID (e.g. {communityName}_liveid_enroll). This is the only manual edit required - all other tenant-specific values are resolved dynamically.
To deploy each workflow:
Copy the workflow JSON from the Sandbox database
Update
data.dvcIdto your community's LiveID device IDInject into the Production database - use
PUTfor first-time deployment,PATCHto update an existing workflowIf required, enable direct access and generate an access code
Deploy the iOS App via Microsoft Intune
The 1Kosmos app is deployed to managed iOS devices as a Line-of-Business (LOB) app in Intune. The app configuration policy pushes the required key-values to the app at runtime.
Add the app:
In Microsoft Intune Admin Center, go to Apps → All apps → + Add
Select Line-of-business app and click Select
Click Select app package file, download the
.ipafrom the shared OneDrive link, and upload itFill in the app details — set Minimum OS version to
iOS 17.0Under Assignments → Required, add the target user/device group, then click Review + Create → Create
Create the app configuration policy:
Go to Apps → App configuration policies → + Add → Managed devices
Set Platform to
iOS/iPadOSand select the app added above as the targeted appOn the Settings tab, select Configuration designer and add the following key-value pairs:
web_launch_url
String
My Sign-Ins
wf_dns
String
sandbox.1kosmos.net
wf_access_code
String
0S0573
Under Assignments, add the same group assigned to the app, then click Review + Create → Create
Install MDM profile on device:
On the device, go to Settings → General → VPN & Device Management
Confirm the Microsoft Intune MDM profile is present; if prompted, tap Install → Trust
Open Company Portal, go to Devices → your device → Sync, and wait for the configuration to apply
In Intune Admin Center, verify the config policy shows Succeeded under Device/User status
Registration Flow
Before users can authenticate, they must complete a one-time registration to enroll their LiveID and register a passkey. The flow adapts based on whether the user has previously enrolled their LiveID.
First-time user (no LiveID enrolled):
User enters their Entra (Microsoft) username
User scans their identity document (e.g., Passport) - face is not captured at this step
User captures a selfie to enroll LiveID
Passkey is registered on Microsoft Entra and stored in 1Kosmos
Returning user (LiveID already enrolled):
User enters their Entra username
User captures a selfie to verify against their enrolled LiveID
Passkey is registered on Microsoft Entra and stored in 1Kosmos
If a user re-runs registration, the existing passkey entry is updated rather than duplicated. This is expected behavior.
Authentication Flow
Once registered, users authenticate by opening the 1Kosmos app on their Intune-managed device. The app redirects to the Entra sign-in page, the user selects Face / Fingerprint → 1Kosmos, and the authentication workflow launches. The user scans their face, the passkey challenge is signed, and they are logged into Microsoft Entra.
Last updated
Was this helpful?

