OAuth Consent Grant Audit: Find Risky Connected Apps

Audit connected applications by reviewing scopes, publishers, users, refresh tokens, unused grants, delegated authority, and revocation.

In this article

OAuth Consent Grant Audit: Find Risky Connected Apps

OAuth lets users authorize applications without sharing their passwords. A grant can still become a long-lived path into mail, files, calendars, repositories, or administrative data. Multifactor authentication protects the original sign-in, but it does not automatically stop an already-authorized application from using its refresh token.

An effective audit asks whether each connected app is known, necessary, appropriately scoped, actively used, and owned. It also checks what happens when a user leaves or the vendor is compromised.

What the topic means

An OAuth consent grant records permission delegated by a user or administrator to a client application. Scopes describe requested access, while the resource server enforces what those scopes allow. Offline access or refresh tokens can extend the relationship beyond the original browser session. Tenant-wide administrative consent increases impact and deserves stronger review.

Core principles

Review effective scopes

Translate technical scope names into real actions such as reading all mail, editing files, sending messages, or maintaining offline access.

Confirm publisher identity

Verify client ID, publisher, redirect domains, ownership, support status, and whether the app recently changed hands.

Tie every grant to a purpose

Record the business owner, approved use case, user group, data class, and next review date. Unknown purpose should not remain permanent.

Revoke comprehensively

Removing an icon or uninstalling a client may not invalidate refresh tokens. Use the identity provider’s grant-revocation controls and verify failure afterward.

Step-by-step workflow

  1. Export grants and applications. Collect client IDs, app names, publishers, scopes, consent type, users, creation dates, last activity, and token status.
  2. Prioritize broad access. Review tenant-wide, offline, mail, file, directory, administrator, source-code, and security-data scopes before low-impact profile access.
  3. Validate ownership. Ask the named business and technical owners to confirm necessity, user population, vendor status, and least-privilege alternatives.
  4. Remove dormant or unknown grants. Revoke access, remove enterprise application assignments where appropriate, and confirm that old tokens no longer work.
  5. Restrict future consent. Require review for sensitive scopes, limit who can approve tenant-wide access, and provide a fast request path for legitimate tools.
  6. Repeat and alert. Schedule periodic reviews and monitor new high-risk grants, unusual sign-ins, new redirect URIs, and consent from privileged accounts.

Practical example

An export shows a meeting assistant with offline access to every employee’s calendar even though only one team uses it. The owner confirms that a smaller pilot group is sufficient. Administrators revoke the tenant-wide grant, approve narrower access for the pilot, and verify that previously issued tokens fail.

How to test the control

Test this workflow in a controlled environment before relying on it in production. Begin with “Export grants and applications” and create three cases: an expected success, a safe rejection, and a degraded or unavailable dependency. Continue through “Prioritize broad access” and “Validate ownership,” recording timestamps, identifiers, logs, and the operator decision. Repeat the exercise after meaningful changes to providers, permissions, dependencies, or architecture. A control is operational only when another team member can follow the documented process and obtain the expected result without hidden knowledge.

Metrics and review cadence

Measure completion and outcome separately. For this topic, track evidence that “All grants and client IDs are inventoried,” “Sensitive scopes are translated into actions,” and “Publishers and redirect domains are verified” remain true, then pair those checks with operational signals such as unexpected changes, denied actions, stale ownership, error volume, recovery time, or unreviewed exceptions as appropriate. Review trends rather than celebrating a single pass. A growing exception count may show the workflow is too difficult, while zero alerts may mean the detection path is not functioning.

Operating this in production

Identity controls should answer who is acting, for which application, on whose behalf, against which resource, and for how long. Authentication establishes identity; authorization still has to limit each operation. Logs and revocation complete the control loop. Review the workflow after incidents, major releases, access changes, and meaningful growth. Assign an owner and keep evidence that the control works instead of recording only that it exists.

Common mistakes

  • Assuming MFA protects active OAuth tokens.
  • Reviewing app names without checking client IDs.
  • Ignoring user-consented applications.
  • Removing assignments without revoking tokens.
  • Approving broad scopes because a vendor is well known.

Duck Cloud tools for the workflow

Inspect sanitized grant exports with the CSV Viewer or JSON Viewer, compare review periods using JSON Diff or Text Diff, and use the Unix Timestamp Converter to interpret token and activity times.

Review checklist

  • [ ] All grants and client IDs are inventoried
  • [ ] Sensitive scopes are translated into actions
  • [ ] Publishers and redirect domains are verified
  • [ ] Each grant has an owner and purpose
  • [ ] Dormant access is revoked
  • [ ] Tenant-wide consent is tightly controlled
  • [ ] Offboarding removes delegated access
  • [ ] New high-risk grants generate alerts

Conclusion

OAuth Consent Grant Audit becomes valuable when it is repeatable, owned, and verified. Start with the highest-impact boundary, document the expected state, test realistic failure cases, and fix the gaps that evidence reveals. Small controls maintained consistently are more reliable than a large policy that nobody exercises.

Advertisement
OAuth Consent Grant Audit Guide | Duck Cloud