Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sidebase/nuxt-auth-example
A example application using nuxt-auth.
https://github.com/sidebase/nuxt-auth-example
auth nuxt nuxt-auth sidebase
Last synced: about 1 month ago
JSON representation
A example application using nuxt-auth.
- Host: GitHub
- URL: https://github.com/sidebase/nuxt-auth-example
- Owner: sidebase
- Created: 2022-10-24T10:32:08.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-03-07T14:35:58.000Z (10 months ago)
- Last Synced: 2024-05-01T11:27:01.973Z (8 months ago)
- Topics: auth, nuxt, nuxt-auth, sidebase
- Language: Vue
- Homepage: https://nuxt-auth-example.sidebase.io
- Size: 847 KB
- Stars: 73
- Watchers: 6
- Forks: 46
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Nuxt Auth Example
> This is an example project using [nuxt-auth](https://github.com/sidebase/nuxt-auth), the Nuxt module providing authentication and sessions via [NextAuth.js](https://github.com/nextauthjs/next-auth). `nuxt-auth` wraps [NextAuth.js](https://github.com/nextauthjs/next-auth) to offer the reliability & convenience of a 12k star library to the nuxt 3 ecosystem with a native developer experience (DX).
The deployed version can be found [here](https://nuxt-auth-example.sidebase.io).
![sidebase-preview-for-light](.github/preview.png)
## Setup
To run this locally:
```bash
# install dependencies
npm install# run dev server
npm run dev# build production
npm run build# start production build
npm run start
```NOTE: For full functionality you'll need to add your own github oauth app client id and client secret in the [`NuxtAuthHandler`](./server/api/auth/%5B...%5D.ts). See [the next section](#environment-variables) for more on this and other configuration.
## Environment variables
The test deployment is done via docker-compose with `nginx-certbot` image which automatically issues certificate for the domain. Please don't forget to create `.env` file in the project root, which will contain:
- `GITHUB_CLIENT_*`
- `GITHUB_CLIENT_ID` - A [GitHub OAuth](https://docs.github.com/en/developers/apps/building-oauth-apps/creating-an-oauth-app) Client Id
- `GITHUB_CLIENT_SECRET` - A [GitHub OAuth](https://docs.github.com/en/developers/apps/building-oauth-apps/creating-an-oauth-app) secret
- `NUXT_SECRET` - A random string used to generate authentication tokens
- `ORIGIN` - The URL of your authentication api (should be https://example.com, this no trailing slash)
- `CERTBOT_*` - NuxtAuth requires a SSL certificate to run in production. We use Certbot to automatically generate these
- `CERTBOT_DOMAIN` - The domain for which the Certbot should register a certificate
- `CERTBOT_EMAIL` - The email under which the domain certificate will be registered