Join our Newsletter — 33% off our NHI Course

Why do OAuth grants create risk even after offboarding, password resets, or MFA re-enrollment?

OAuth grants are separate authorization objects from user credentials. They live in the SaaS application’s consent store, so offboarding and identity-provider actions do not automatically touch them. That separation lets a third-party app keep access after the employee who approved it is gone, disabled, or fully reset, which makes the grant a durable path into data.

Why OAuth grants outlast the user who approved them

OAuth grants are usually issued to an application, not to the employee as a living credential. In SaaS and federated environments, that means the consented app can continue to present a valid authorization context until the grant itself is revoked, expired, or otherwise reset by the resource owner or tenant admin. The grant survives because it is stored and enforced by the application authorization layer, not by the user’s password or MFA state.

That distinction matters operationally. Offboarding removes the person’s direct access path, but it does not automatically remove delegated app access that was already recorded in the SaaS consent store. In practice, the grant can remain usable even after password resets, authenticator re-enrollment, or identity-provider deactivation because those actions change how the user authenticates, not how the third-party app is authorized.

For deeper background on the lifecycle side of this problem, the NHI Lifecycle Management Guide is useful because the same governance mistake appears whenever authorization objects are left behind after a lifecycle event. The core issue is not just “access still exists,” but “the access was granted to something other than the user account you just changed.”

How the risk shows up in real environments

The practical failure mode is simple: the organization treats offboarding, password reset, or MFA re-enrollment as if it were a full access reset, but OAuth consent remains intact. If the app has refresh-token capability or long-lived authorization, it may keep reaching SaaS data without prompting for the departed user’s credentials again. That creates a durable path for both legitimate app behavior and attacker abuse.

This is why OAuth grants are often more persistent than operators expect. Even when access tokens expire, the grant or refresh token can preserve the relationship and silently mint new access. If the app is compromised, if an attacker inherits the app secret, or if the integration itself is abused, the organization may see continued access that looks unrelated to the former employee’s account status.

For a concrete breach pattern, the Salesloft OAuth token breach shows how a third-party integration can become the access path into downstream SaaS data. A similar control lesson appears in the CoPhish OAuth Token Theft via Copilot Studio write-up, where token theft turns the grant into a durable abuse mechanism rather than a one-time login event.

What should be governed, not just reset

OAuth grants need to be treated as their own inventory item, with ownership, recertification, and revocation paths that are independent of user credential state. The important control question is not only whether the employee is gone, but whether any app consent, refresh token, or delegated authorization still exists that can act on the tenant’s behalf.

That is why offboarding checklists should include consent review for SaaS apps, especially those with broad scopes, mailbox or file access, and enterprise-wide delegation. If the organization cannot rapidly answer who approved the grant, what scopes were approved, and whether the app still needs access, then the grant is functioning as unmanaged standing access.

The broader lifecycle pattern is covered well in the Ultimate Guide to NHIs, lifecycle processes for managing NHIs, which is especially relevant when app-consent objects behave like durable access artifacts. For standards context, OAuth itself is defined in RFC 6749: The OAuth 2.0 Authorization Framework, which makes clear that authorization is separate from interactive user authentication.

Standards & Framework Alignment

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

OWASP Non-Human Identity Top 10 addresses the attack and risk surface, while NIST SP 800-53 Rev 5 sets the governance and control requirements practitioners need to meet.

Framework Control / Reference Relevance
NIST SP 800-53 Rev 5 AC-2 — Account Management Offboarding and access lifecycle require revoking durable access paths, not only human logins.
IA-5 — Authenticator Management Credential resets do not automatically remove authorization artifacts tied to the account.
Recommendation — Revoke app consents during account termination. Rotate and retire secrets without assuming grants disappear.
OWASP Non-Human Identity Top 10 NHI-01 — Improper Offboarding OAuth grants can survive offboarding as orphaned authorization objects.
NHI-07 — Long-Lived Secrets Refresh tokens and similar artifacts can preserve access long after the user event ends.
Recommendation — Inventory and revoke app grants when users leave. Shorten token lifetime and require renewal where possible.

Practitioner Guidance

What to verify: Before trusting offboarding to remove access, verify whether the SaaS platform stores app consent, refresh tokens, or delegated grants separately from user accounts. If it does, the user lifecycle action is incomplete until those grants are reviewed or revoked.

Decision rule: If a third-party app can access production data, treat its grant as a standing access path and require explicit ownership, periodic recertification, and a defined revocation trigger on termination or role change.

What practitioners underestimate: Password resets and MFA re-enrollment are identity recovery actions, not grant revocation actions. The safest assumption is that an OAuth grant remains live until you prove otherwise.

Practitioner takeaway: The control objective is to govern authorization objects directly, because the credential state of the human approver does not reliably bound the lifetime of the app’s access.