Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nextauthjs/next-auth-gatsby-example
Example showing how to use NextAuth.js with Gatsby
https://github.com/nextauthjs/next-auth-gatsby-example
authentication gatsby oauth passwordless
Last synced: 3 months ago
JSON representation
Example showing how to use NextAuth.js with Gatsby
- Host: GitHub
- URL: https://github.com/nextauthjs/next-auth-gatsby-example
- Owner: nextauthjs
- License: isc
- Created: 2022-02-05T12:14:21.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-05-15T17:45:45.000Z (8 months ago)
- Last Synced: 2024-07-31T19:35:23.561Z (6 months ago)
- Topics: authentication, gatsby, oauth, passwordless
- Language: JavaScript
- Homepage: https://next-auth-gatsby-example.vercel.app
- Size: 113 KB
- Stars: 10
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
> The example repository is maintained from a [monorepo](https://github.com/nextauthjs/next-auth/tree/main/apps/playground-gatsby). Pull Requests should be opened against [`nextauthjs/next-auth`](https://github.com/nextauthjs/next-auth).
Auth.js Example App
Open Source. Full Stack. Own Your Data.
## Overview
Auth.js is a complete open-source authentication solution.
This is an example application that shows how `@auth/core` is applied to a basic Gatsby app. We are showing how to configure the backend both as a [Vercel Function](https://vercel.com/docs/concepts/functions/introduction) for deployment to Vercel, and also for [Gatsby Functions](https://www.gatsbyjs.com/docs/reference/functions) for other platforms.
The deployed version can be found at [`next-auth-gatsby-example.vercel.app`](https://next-auth-gatsby-example.vercel.app)
### About Auth.js
Auth.js is an easy-to-implement, full-stack (client/server) open-source authentication library originally designed for [Next.js](https://nextjs.org) and [Serverless](https://vercel.com), but this example shows how to use it in a Gatsby project. Our goal is to [support even more frameworks](https://github.com/nextauthjs/next-auth/issues/2294) in the future.
Go to [authjs.dev](https://authjs.dev) for more information and documentation.
> Auth.js is not officially associated with Vercel or Next.js.\_
## Getting Started
### 1. Clone the repository and install dependencies
```
git clone https://github.com/nextauthjs/next-auth-gatsby-example.git
cd next-auth-gatsby-example
npm install
```### 2. Configure your local environment
Copy the .env.local.example file in this directory to .env.local (which will be ignored by Git):
```
cp .env.local.example .env.local
```Add details for one or more providers (e.g. Google, Twitter, GitHub, Email, etc).
#### Database
A database is needed to persist user accounts and to support email sign in. However, you can still use Auth.js for authentication without a database by using OAuth for authentication. If you do not specify a database, [JSON Web Tokens](https://jwt.io/introduction) will be enabled by default.
You **can** skip configuring a database and come back to it later if you want.
For more information about setting up a database, please check out the following links:
- Docs: [authjs.dev/reference/core/adapters](https://authjs.dev/reference/core/adapters)
### 3. Configure Authentication Providers
1. Review and update options in `nextauth.config.js` as needed.
2. When setting up OAuth, in the developer admin page for each of your OAuth services, you should configure the callback URL to use a callback path of `{server}/api/auth/callback/{provider}`.
e.g. For Google OAuth you would use: `http://localhost:3000/api/auth/callback/google`
A list of configured providers and their callback URLs is available from the endpoint `/api/auth/providers`. You can find more information at [authjs.dev/reference/core/providers](https://authjs.dev/reference/core/providers).
3. You can also choose to specify an SMTP server for passwordless sign in via email.
### 4. Start the application
To run your site locally, use:
```
npm run dev
```To run it in production mode, use:
```
npm run build
npm run start
```### 5. Preparing for Production
Follow the [Deployment documentation](https://authjs.dev/getting-started/deployment)
## Acknowledgements
Thanks to Vercel sponsoring this project by allowing it to be deployed for free for the entire Auth.js Team
## License
ISC