šŸ“„ next-auth/providers/github

File: github.md | Updated: 11/15/2025

Source: https://next-auth.js.org/providers/github

Skip to main content

šŸŽ‰ NextAuth.js is now part of Better Auth !

Version: v4

On this page

GitHub returns a field on Account called refresh_token_expires_in which is a number. See their docs . Remember to add this field to your database schema, in case if you are using an Adapter .

Documentation​


https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps

Configuration​


https://github.com/settings/apps

info

When creating a GitHub App, make sure to set the "Email addresses" account permission to read-only in order to access private email addresses on GitHub.

Options​


The GitHub Provider comes with a set of default options:

You can override any of the options to suit your own use case.

Example​


import GitHubProvider from "next-auth/providers/github";...providers: [  GitHubProvider({    clientId: process.env.GITHUB_ID,    clientSecret: process.env.GITHUB_SECRET  })]...

danger

Only allows one callback URL per Client ID / Client Secret.

tip

Email address is always returned, even if the user doesn't have a public email address on their profile.