Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/nextauthjs/express-auth-example

Example showing how to use Auth.js with Express.
https://github.com/nextauthjs/express-auth-example

authjs express express-authentication oauth2

Last synced: about 2 months ago
JSON representation

Example showing how to use Auth.js with Express.

Awesome Lists containing this project

README

        

> The example repository is maintained from a [monorepo](https://github.com/nextauthjs/next-auth/tree/main/apps/examples/express). Pull Requests should be opened against [`nextauthjs/next-auth`](https://github.com/nextauthjs/next-auth).











Express Auth - Example App



Open Source. Full Stack. Own Your Data.




npm


Bundle Size


Downloads


TypeScript

## Overview

This is the official Express Auth example for [Auth.js](https://express.authjs.dev).

## Getting started

You can instantly deploy this example to [Vercel](https://vercel.com?utm_source=github&utm_medium=readme&utm_campaign=express-auth-example) by clicking the following button.

[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/git/external?repository-url=https://github.com/nextauthjs/express-auth-example&project-name=express-auth-example&repository-name=express-auth-example)

## Environment Variables

Once deployed, kindly ensure you set all [required environment variables](https://authjs.dev/getting-started/deployment#environment-variables) in the `Environment` section of your hosting service.

## Node.js Compatibility

The recommended version of Node.js to use in this example is Node.js v20.0.0.

If you are using a version of Node.js lower than this (for example the minimum supported node version v18.0.0), you may need to enable Web Crypto API via the `--experimental-webcrypto` flag in the `start` and `dev` scripts of your `package.json` file.

Instead of using the experimental flag, you may use the following polyfill:

```ts
// polyfill.cjs
globalThis.crypto ??= require("crypto").webcrypto
```

And then import it within a top-level file in the application:

```ts
// server.ts
import "./polyfill.cjs"
```