Cybersecurity glossary

What is an OAuth Scope?

Learn what OAuth scopes are, how they limit access token permissions, common scope design mistakes, and best practices for least-privilege delegated authorization.

Identity and accessUpdated July 23, 2026
Also known asScopeOAuth permission scopeToken scope

Definition

An OAuth scope is a permission label requested by a client and granted by the authorization server (often with resource-owner consent) that constrains what an issued access token is allowed to do at a resource server.

Why tokens need named permissions

Delegated access without boundaries is just password sharing with extra steps. OAuth scopes name what a client may do—read calendar events, post chat messages, manage billing—so consent and enforcement can be specific.

Good scopes make least privilege visible to users and enforceable by APIs.

How scopes travel through OAuth

1

Client requests scopes

The authorize request includes a space-delimited scope list for needed permissions.

2

User consents (when interactive)

The authorization server presents understandable permission prompts.

3

Token issued with granted scopes

Access token metadata or JWT claims reflect the approved set.

4

Resource server enforces

Each API operation checks that required scopes are present.

5

Later expansion needs new consent

Clients should not silently gain higher privileges via refresh.

Scope design patterns

Resource.operation

Examples: invoices:read, invoices:write—clear and enforceable.

Read vs write split

Default to read-only; require explicit consent for mutations.

Sensitive scopes

Mark admin, export, and payment scopes for extra policy and UX warnings.

Audience separation

Pair scopes with resource indicators so tokens are API-specific.

OIDC openid scopes

openid, profile, and email request identity claims—not API admin rights.

Machine scopes

Client-credentials clients get pre-approved, tiny scope sets.

Common scope failures

MistakeImpactFix
Single ‘full_access’ scopeAny token is powerfulSplit by resource and verb
AS issues scopes RS ignoresAuthorization theaterEnforce in resource server
Hidden scope escalationRefresh gains new powersRe-consent on expansion
Unreadable consent textUsers over-approvePlain-language scope descriptions

Implementation checklist

  • Define scopes as a published contract between clients and APIs.
  • Grant least privilege by default; avoid omnibus admin scopes for ordinary apps.
  • Enforce scopes on the resource server for every sensitive operation.
  • Show clear consent copy; never bury dangerous permissions.
  • Bind tokens to audiences; do not accept scopes meant for another API.
  • Log granted scopes with client ID for incident response.
  • Review third-party app grants periodically and revoke unused high scopes.
  • Downscope tokens for browsers and untrusted clients whenever possible.

The practical takeaway

An OAuth scope is how delegated authorization expresses least privilege in a token. Without meaningful scopes—and enforcement—OAuth collapses into ambient authority.

Design scopes users can understand, issue the smallest set that works, and make resource servers the final judges of what those labels allow.

Related security terms

Frequently asked questions

What is an OAuth scope in simple terms?

A scope is a named permission on an access token—like photos:read—that limits what an app can do after you approve it.

Who enforces scopes?

The authorization server issues tokens with granted scopes, but resource servers must enforce those scopes on every API call.

What happens if a client asks for scopes the user denies?

Depending on policy, the flow fails or continues with a reduced scope set. Clients must handle partial grants carefully.

Are scopes the same as roles?

Not exactly. Scopes describe delegated client permissions for an API. Roles usually describe a user’s entitlements inside an application. Both can coexist.

Why are broad scopes dangerous?

A stolen token or malicious client with admin-level scopes can change data, exfiltrate records, or persist access far beyond the intended feature.

Should refresh tokens inherit all scopes forever?

Prefer narrow grants and re-consent when expanding. Some systems allow down-scoping on refresh; expanding should be explicit.

How granular should scopes be?

Granular enough to separate read/write and sensitive operations, but not so fragmented that users cannot understand consent screens.

References

Explore authoritative guidance and frameworks related to oauth scope.

Explore every security definition

Return to the glossary to search by term, alias, starting letter, or security category.

Browse glossary