Skip to content
Last updated

GitHub integration

GitHub is a development platform for hosting code, managing repositories, and collaborating on software projects. Integrating GitHub with Frontegg allows your application to read user profiles, manage repositories, issues, pull requests, and workflows on behalf of your users through OAuth 2.0 authentication.


Prerequisites

Connect GitHub

Step 1: Open the OAuth Apps page

Sign in to GitHub and navigate to Settings → Developer settings → OAuth Apps at https://github.com/settings/developers. Click New OAuth app.

GitHub Developer settings OAuth Apps page with New OAuth app highlighted

Step 2: Register the application

On the Register a new OAuth app form, fill in the following fields:

FieldValue
Application nameA descriptive name, e.g., Frontegg Integration
Homepage URLThe URL of your application (e.g., https://your-app.com)
Authorization callback URLhttps://YOUR_MCP_GATEWAY_URL/integration-callback

Leave Enable Device Flow unchecked. Click Register application.

GitHub Register a new OAuth app form with fields filled and Register application highlighted

Step 3: Copy the Client ID and generate a Client Secret

After registration, GitHub takes you to the app's settings page. The Client ID is shown immediately — copy it.

Under Client secrets, click Generate a new client secret. GitHub may prompt you to confirm your account password. Once generated, copy the secret value — GitHub will only display it once.

Keep your Client Secret safe

The Client Secret is shown only once. If you lose it, return to this page and click Generate a new client secret to create a replacement.

GitHub OAuth app settings page with Client ID and Client Secret highlighted

Configure the Frontegg portal

Once you have the Client ID and Client Secret from the steps above, enter them in the integration configuration page of the Frontegg portal:

  1. Open the Frontegg portal and navigate to [ENVIRONMENT] → Integrations → GitHub.
  2. Enter the Client ID and Client Secret in the corresponding fields.
  3. Select the required scopes.
  4. Click Save.

Scopes are configured in Frontegg

GitHub OAuth apps do not define scopes at the app level — scopes are requested when a user authorizes the integration. Select the scopes your application needs in the Frontegg portal.

Common GitHub OAuth scopes

ScopeDescription
userRead/write access to profile info (includes read:user and user:email)
read:userRead access to the authenticated user's profile
user:emailRead access to the user's email addresses
repoFull control of private and public repositories
public_repoAccess to public repositories only
read:orgRead access to organization membership and teams
workflowUpdate GitHub Actions workflow files
read:packagesDownload packages from GitHub Packages
gistCreate, read, and update gists
notificationsAccess user notifications

For the full list of available scopes, see the GitHub OAuth scopes reference.

Additional resources