Skip to content
Open

. #111

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 6 additions & 21 deletions .env.local.example
Original file line number Diff line number Diff line change
@@ -1,21 +1,6 @@
AUTH_SECRET= # `npx auth secret` or `openssl rand -hex 32`

AUTH_AUTH0_ID=
AUTH_AUTH0_SECRET=
AUTH_AUTH0_ISSUER=

AUTH_FACEBOOK_ID=
AUTH_FACEBOOK_SECRET=

AUTH_GITHUB_ID=
AUTH_GITHUB_SECRET=

AUTH_GOOGLE_ID=
AUTH_GOOGLE_SECRET=

AUTH_TWITTER_ID=
AUTH_TWITTER_SECRET=

# THIRD_PARTY_API_EXAMPLE_BACKEND= # Read more at https://authjs.dev/guides/integrating-third-party-backends

# AUTH_TRUST_HOST=1 # Read more at https://authjs.dev/getting-started/deployment#auth_trust_host
NEXT_PUBLIC_BASE_API=http://localhost:5001/api/v1
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=replace-with-a-long-random-secret
GOOGLE_CLIENT_ID=your-google-client-id
GOOGLE_CLIENT_SECRET=your-google-client-secret
AUTH_SOCIAL_GOOGLE_ENDPOINT=/auth/oauth/google
4 changes: 0 additions & 4 deletions .github/FUNDING.yml

This file was deleted.

23 changes: 6 additions & 17 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,20 +1,9 @@
.DS_Store

node_modules/
logs
*.log
node_modules
.next
out
.env.local
.env
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.yarn-integrity
.npm

.eslintcache

*.tsbuildinfo
next-env.d.ts

.next
.vercel
.env*.local
pnpm-debug.log*
31 changes: 31 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
{
"workbench.colorCustomizations": {
"statusBarItem.warningBackground": "#5edb0a",
"statusBarItem.warningForeground": "#000000",
"statusBarItem.warningHoverBackground": "#5edb0a",
"statusBarItem.warningHoverForeground": "#00000090",
"statusBarItem.remoteBackground": "#6be817",
"statusBarItem.remoteForeground": "#000000",
"statusBarItem.remoteHoverBackground": "#78f524",
"statusBarItem.remoteHoverForeground": "#00000090",
"statusBar.background": "#5edb0a",
"statusBar.foreground": "#000000",
"statusBar.border": "#5edb0a",
"statusBar.debuggingBackground": "#5edb0a",
"statusBar.debuggingForeground": "#000000",
"statusBar.debuggingBorder": "#5edb0a",
"statusBar.noFolderBackground": "#5edb0a",
"statusBar.noFolderForeground": "#000000",
"statusBar.noFolderBorder": "#5edb0a",
"statusBar.prominentBackground": "#5edb0a",
"statusBar.prominentForeground": "#000000",
"statusBar.prominentHoverBackground": "#5edb0a",
"statusBar.prominentHoverForeground": "#00000090",
"titleBar.activeBackground": "#5edb0a",
"titleBar.activeForeground": "#000000",
"titleBar.inactiveBackground": "#5edb0a",
"titleBar.inactiveForeground": "#00000090"
},
"window.title": "frontend",
"editor.formatOnSave": true
}
58 changes: 0 additions & 58 deletions Dockerfile

This file was deleted.

15 changes: 0 additions & 15 deletions LICENSE

This file was deleted.

136 changes: 31 additions & 105 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,105 +1,31 @@
> The example repository is maintained from a [monorepo](https://github.com/nextauthjs/next-auth/tree/main/apps/examples/nextjs). Pull Requests should be opened against [`nextauthjs/next-auth`](https://github.com/nextauthjs/next-auth).

<p align="center">
<br/>
<a href="https://authjs.dev" target="_blank"><img width="150px" src="https://authjs.dev/img/logo-sm.png" /></a>
<h3 align="center">NextAuth.js Example App</h3>
<p align="center">
Open Source. Full Stack. Own Your Data.
</p>
<p align="center" style="align: center;">
<a href="https://npm.im/next-auth">
<img alt="npm" src="https://img.shields.io/npm/v/next-auth?color=green&label=next-auth">
</a>
<a href="https://bundlephobia.com/result?p=next-auth-example">
<img src="https://img.shields.io/bundlephobia/minzip/next-auth?label=next-auth" alt="Bundle Size"/>
</a>
<a href="https://www.npmtrends.com/next-auth">
<img src="https://img.shields.io/npm/dm/next-auth?label=next-auth%20downloads" alt="Downloads" />
</a>
<a href="https://npm.im/next-auth">
<img src="https://img.shields.io/badge/npm-TypeScript-blue" alt="TypeScript" />
</a>
</p>
</p>

## Overview

NextAuth.js is a complete open source authentication solution.

This is an example application that shows how `next-auth` is applied to a basic Next.js app.

The deployed version can be found at [`next-auth-example.vercel.app`](https://next-auth-example.vercel.app)

### About NextAuth.js

NextAuth.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). Our goal is to [support even more frameworks](https://github.com/nextauthjs/next-auth/issues/2294) in the future.

Go to [next-auth.js.org](https://authjs.dev) for more information and documentation.

> _NextAuth.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-example.git
cd next-auth-example
pnpm 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 NextAuth.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 `auth.ts` 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 https://authjs.dev/getting-started/providers/oauth-tutorial

1. 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:

```
pnpm run dev
```

To run it in production mode, use:

```
pnpm run build
pnpm run start
```

### 5. Preparing for Production

Follow the [Deployment documentation](https://authjs.dev/getting-started/deployment)

## License

ISC
## Auth Client (Next.js + Tailwind + MUI + NextAuth + Axios)

### Providers
- Credentials
- Google

### API base URL
- `NEXT_PUBLIC_BASE_API=http://localhost:5001/api/v1`

### Setup
1. Install dependencies:
```bash
npm install
```
2. Create env file:
```bash
cp .env.local.example .env.local
```
3. Run dev server:
```bash
npm run dev
```

### Notes
- Credentials provider posts to `/auth/login` on your configured base API.
- NextAuth endpoint is `/api/auth/[...nextauth]`.
- `GOOGLE_CLIENT_SECRET` must be the OAuth Client Secret from Google Cloud Console credentials, not an access token (tokens often start with `ya29.`).
- Social login flow (Google):
- After OAuth callback, frontend exchanges Google tokens with backend via:
- `AUTH_SOCIAL_GOOGLE_ENDPOINT` (default: `/auth/oauth/google`)
- Backend should return app user + app access token in one of these shapes: `{ token, data }`, `{ accessToken, user }`, or equivalent.
34 changes: 0 additions & 34 deletions app/[...proxy]/route.tsx

This file was deleted.

1 change: 1 addition & 0 deletions app/admin/dashboard/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export { default } from "../../page";
9 changes: 9 additions & 0 deletions app/admin/layout.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import RoleFolderLayout from "@/components/role-folder-layout";

export default function AdminLayout({
children,
}: {
children: React.ReactNode;
}) {
return <RoleFolderLayout requiredRole="admin">{children}</RoleFolderLayout>;
}
1 change: 1 addition & 0 deletions app/admin/reports/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export { default } from "../../page";
1 change: 1 addition & 0 deletions app/admin/users/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export { default } from "../../page";
1 change: 1 addition & 0 deletions app/admin/verify/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export { default } from "../../page";
38 changes: 0 additions & 38 deletions app/api-example/page.tsx

This file was deleted.

Loading