Join our Newsletter — 33% off our NHI Course

How should security teams implement single sign-on with conditional access for custom applications?

Security teams should start by integrating the application with SSO, then import service provider metadata to avoid manual errors, map the required attributes, and add the app to the right user group. Conditional access should then enforce MFA for authorized users. That sequence centralizes access control, reduces identity silos, and keeps access decisions consistent across assets while preserving a workable user experience.

How SSO changes custom application access control

Custom applications benefit most from SSO when they stop making their own separate login decisions and instead trust a central identity system for authentication and session issuance. The practical gain is not just convenience. It is a cleaner trust boundary, fewer local credentials to manage, and a consistent place to enforce sign-in policy across applications that were never built the same way.

For custom apps, the implementation detail that matters most is the handoff between the application and the identity provider. Metadata import, attribute mapping, and group assignment turn a generic SSO integration into a predictable access pattern. OpenID Connect Core 1.0 is the clearest external reference point for how an application receives identity information and establishes authenticated sessions in a standard way.

That same structure is why conditional access works best when it sits at the identity layer rather than inside each application. If the application is only one of many relying parties, the identity provider can apply common conditions such as user group, device state, sign-in risk, and MFA requirements before the app ever receives access. The result is less custom policy logic inside the app and fewer inconsistent exceptions across the estate.

Why metadata, attributes, and groups are the real control points

In practice, the three most important setup choices are federation metadata, attribute mapping, and assignment groups. Metadata reduces manual certificate, issuer, and endpoint errors. Attribute mapping makes sure the application receives the right username, role, or tenant claims. Group assignment ensures only the intended population can reach the app, which is especially important when conditional access policies need a stable target for enforcement.

That is also where integration quality often fails. A technically “working” SSO setup can still create broken authorisation if the app receives the wrong attributes, if the group rule is too broad, or if the identity provider is not the only place where access is being decided. IAM and IGA Basics is useful here because the access path is only sound when authentication, entitlement, and governance are aligned.

Conditional access should be treated as a policy layer, not as a substitute for application design. If a custom app still needs local roles, those roles should be derived from identity attributes and kept tightly scoped. If the app has no reason to own a separate password database, it should not be used as a parallel login system. That is how teams avoid identity silos and make policy changes once instead of repeating them per application.

How to make conditional access enforceable without making the app brittle

The best implementation pattern is to let SSO establish who the user is, then let conditional access decide whether the sign-in meets the organisation’s rules, and only then let the app consume the assertion. This is the right place to require MFA for approved users, because the decision is made before the app session exists and can be enforced consistently across all federated apps.

For organisations standardising on workforce identity controls, Identity Provider and SSO Security Guide is the most direct internal companion because it covers SSO hardening, token security, federation trust, and conditional access in the same trust chain. Zero Trust Identity Guide is the broader model for making that decision continuous rather than one-time, which is important when the same app is accessed from managed and unmanaged contexts.

There is also an operational trade-off. Strong conditional access can break legacy assumptions in older custom applications, especially if they expect a simple password flow, hard-coded group checks, or long-lived sessions. In those cases, teams should prefer small, auditable integration changes over local exceptions. If the app cannot tolerate modern federation cleanly, the issue is usually application design debt, not a reason to weaken the identity policy.

Risk and Threat Considerations

Custom applications are most exposed when they accept identity assertions without strong trust controls or when MFA is enforced inconsistently across entry points. That creates opportunities for token theft, session hijacking, help-desk abuse, and silent policy bypass, especially if the app still trusts stale claims or weakly validated federation data.

Failure mechanism: The application trusts the wrong issuer, wrong audience, stale attributes, or a federated session that was not protected by the intended conditional access policy, allowing access without the controls the organisation believes are active.

Impact: Attackers or overprivileged users can reach sensitive functions through a pathway that appears centrally controlled but is effectively weaker than the rest of the environment, increasing account takeover and lateral movement risk.

Standards & Framework Alignment

This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.

NIST SP 800-53 Rev 5 and OWASP ASVS set the governance and control requirements practitioners need to meet.

Framework Control / Reference Relevance
NIST SP 800-53 Rev 5 IA-2 — Identification and Authentication (Organizational Users) SSO for custom apps depends on authenticating users through a central identity provider.
AC-2 — Account Management Group assignment and app access rules hinge on controlled account and entitlement management.
AC-6 — Least Privilege Conditional access and app entitlements should limit each user to only the access they need.
Recommendation — Use IA-2 to centralize workforce sign-in and remove app-local passwords. Use AC-2 to govern who is assigned to the application and revoke access promptly. Apply AC-6 to constrain application access to the minimum required entitlements.
OWASP ASVS V6 — Authentication Custom apps integrating SSO still need strong authentication and federation handling.
V8 — Authorization Attribute mapping and group targeting determine what federated users can do in the app.
Recommendation — Use V6 to verify the app accepts only trusted federated authentication flows. Use V8 to check that mapped claims enforce the intended application authorisation.

Practitioner Guidance

What to verify: Validate the federation metadata, claim mapping, and group targeting before rollout, then test both allowed and denied sign-ins so you know the policy is binding at the identity layer and not being recreated inside the application.

Decision rule: If the app must rely on local credentials or custom sign-in logic to make conditional access work, treat that as a design defect and move the control to the identity provider rather than layering exceptions into the application.

Practitioner takeaway: The safest SSO design for custom applications is the one where the app trusts a clean identity assertion, while all meaningful access decisions stay centralized, testable, and consistent.