b2KIT

OAuth Scope Builder

Build OAuth 2.0 scope strings for popular APIs (Google, GitHub, Microsoft, Slack) with permission descriptions.

Tested tool guide Tested browser tools Checked August 16, 2026

What OAuth Scope Builder does, with a checked example

OAuth Scope Builder turns selected permissions for Google, GitHub, Microsoft, or Slack into the scope string used in an OAuth 2.0 authorization request. It presents provider-specific scope tokens with descriptions, helping distinguish similarly named permissions before they are combined. The result is a request value, not proof of access. A common mistake is assuming that selecting a scope grants it automatically. The provider, application configuration, user consent, and any administrator policy still determine which permissions a token receives.

Worked example

A concrete input and expected output from the current implementation.

Input

Provider: GitHub
Selected permission: user:email

Expected output

user:email

With one GitHub scope selected, the output is that scope token unchanged. No comma, quotation marks, or additional separator is needed.

How the result is produced

1

Provider-specific selection

Choose one of the supported providers, then select permissions from that provider's scope list. Each displayed description explains the access represented by its adjacent token. Scope names are not translated between Google, GitHub, Microsoft, and Slack. Changing providers therefore changes the relevant permission vocabulary rather than merely changing a label on the same scope.

2

Scope string assembly

The selected tokens are combined into one OAuth scope value, separated by spaces when more than one scope is present. Token spelling and punctuation matter because OAuth scope strings are case-sensitive identifiers defined by the authorization server. Copy the result as the value of the request's scope parameter, allowing the code that constructs the URL to perform normal query encoding.

Good uses

  • Prepare a GitHub authorization request that asks for email access with user:email without mistyping the colon or substituting a similar permission.
  • Assemble a Slack scope value while reviewing the description of each requested permission before updating an app's authorization link.
  • Compare proposed Google or Microsoft permissions during a code review and provide the exact scope string that the authorization request will carry.

Limits and checks

  • A generated string can be syntactically usable while still containing more access than the application needs. Review every selected permission rather than treating the combined result as a security recommendation.
  • The builder does not establish that a scope is enabled for a particular client, account, tenant, endpoint, or application type. Provider-side configuration and policy can reject or restrict the request.
  • Scope catalogs and permission meanings can change. Treat the descriptions as selection aids and confirm sensitive or unfamiliar permissions against the provider's current primary documentation before deployment.

Common questions

Can I use the generated scope string with a different provider?

No. OAuth defines how the scope parameter is carried, but each authorization server defines its own scope tokens and meanings. A GitHub token such as user:email is not a portable equivalent of a Google, Microsoft, or Slack permission. Select the provider that matches the authorization endpoint and client registration used by the application.

Does the output guarantee that every selected permission will be granted?

No. The output records what the client requests. The authorization server can require consent, apply administrator policy, reject unsupported scopes, or return a narrower authorization. When the token response includes a scope value, compare it with the request instead of assuming the requested and granted permissions are identical.

References and verification

The example and behavioral notes were checked against the browser implementation. Standards and primary references below define the relevant format, formula, or platform behavior.

Related Tools