mirror of
https://github.com/SrIzan10/next-auth.git
synced 2026-05-01 10:55:20 +00:00
* docs: beta initial commit * docs(oauth): finish initial tutorial * docs(oauth-tutorial): finish guide * docs(docusaurus): just log broken links * docs: re-organising beta * docs(beta): sort documents for sorting * docs: more re-structure * docs: more re-structure (2) * fix: more WIP * fix: more WIP * chore: more updates * chore: wip * chore: wip * fix lock file * docs(getting-started): credentials * chore: remove json-server file * chore: cleanup * remove mongodb from dev app * chore: cleanup * revert * chore: cleanup * chore: more cleanup changes Co-authored-by: Balázs Orbán <info@balazsorban.com>
47 lines
1.2 KiB
Markdown
47 lines
1.2 KiB
Markdown
---
|
|
id: github
|
|
title: GitHub
|
|
---
|
|
|
|
:::note
|
|
GitHub returns a field on `Account` called `refresh_token_expires_in` which is a number. See their [docs](https://docs.github.com/en/developers/apps/building-github-apps/refreshing-user-to-server-access-tokens#response). Remember to add this field to your database schema, in case if you are using an [Adapter](/adapters/overview).
|
|
:::
|
|
|
|
## Documentation
|
|
|
|
https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps
|
|
|
|
## Configuration
|
|
|
|
https://github.com/settings/apps
|
|
|
|
## Options
|
|
|
|
The **GitHub Provider** comes with a set of default options:
|
|
|
|
- [GitHub Provider options](https://github.com/nextauthjs/next-auth/blob/main/packages/next-auth/src/providers/github.js)
|
|
|
|
You can override any of the options to suit your own use case.
|
|
|
|
## Example
|
|
|
|
```js
|
|
import GitHubProvider from "next-auth/providers/github";
|
|
...
|
|
providers: [
|
|
GitHubProvider({
|
|
clientId: process.env.GITHUB_ID,
|
|
clientSecret: process.env.GITHUB_SECRET
|
|
})
|
|
]
|
|
...
|
|
```
|
|
|
|
:::warning
|
|
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.
|
|
:::
|