Case Study

SSO & MFA Identity Platform

Enterprise-grade Single Sign-On and Multi-Factor Authentication for external-facing web portals — replacing isolated passwords with centralised cloud identity, automated provisioning, and policy-driven MFA.

Azure Entra External IDOpenID ConnectConditional AccessMicrosoft Graph APIC# PluginPowerShellDataverse
ProblemProvisioningLogin FlowSecurityImpact
Before Isolated Passwords, No MFA

External users had separate portal passwords with no MFA, no centralised identity, and no automated lifecycle — a security and operational nightmare.

No SSO
Separate passwords for the portal — forgotten, reused, shared. IT wastes time on resets.
No MFA
Password-only login. One compromised password = full account takeover. Regulators now require MFA.
No Central Identity
Accounts live in the portal's own database. No connection to the org's identity system. No audit trail.
Manual Provisioning
Admins manually create accounts, email credentials, hope users receive them. No lifecycle management.
Result: Security risk, compliance gaps, wasted admin time, and orphaned accounts.
Phase 1 Automated Provisioning

Admin creates a contact in the CRM — the system automatically provisions their cloud identity and sends a welcome email.

Phase 2 SSO + MFA Login Flow

The user clicks "Sign In" — they're redirected to the cloud identity provider for SSO authentication, then challenged with MFA.

Security Enterprise Hardening

Policy-driven security features enforced via the cloud identity platform — not custom code.

🔒
Single Logout
Logging out terminates all sessions — portal + identity provider. No ghost sessions.
🛡️
Account Lockout
5 failed attempts = 15-minute lockout. Brute force blocked automatically.
🔐
No Username Enumeration
Generic error messages prevent attackers from discovering valid accounts.
⚙️
Automated Lifecycle
Deactivate in CRM? Identity instantly disabled. No orphaned accounts.
📋
Conditional Access
MFA enforced via policy, not code. Works across every connected app.
Results Architecture & Impact

Enterprise-grade identity for external users — SSO, MFA, automated provisioning, and zero custom auth code.

Azure Entra External ID
Cloud identity platform for external users (CIAM)
OpenID Connect
Industry-standard SSO protocol integration
Conditional Access
Policy-driven MFA enforcement
Graph API
Automated user provisioning and lifecycle
C# Dataverse Plugin
CRM-to-identity automation bridge
PowerShell
Multi-environment deployment automation
0
Custom authentication code required
MFA
Policy-enforced on every login
SSO
Single identity across all connected apps
Auto
Provisioning + lifecycle from CRM

Enterprise Identity Without Custom Auth Code

SSO, MFA, automated provisioning, and centralised lifecycle — works with any web app that supports OpenID Connect.