mirror of
https://github.com/SrIzan10/next-auth.git
synced 2026-05-01 10:55:20 +00:00
* All dependancies updated, including the example to include latest release of Next.js and React. * Includes fix for Keycloak strategy support and improved oAuth strategy compatibility. * Includes enhancement for exposing additional parameters when calling getProfile(). * `sessionResave` now defaults to `true`, which ensures sessions always rotate properly. This can be disabled for special use cases - it does not work well with some Express Session Stores, but for most people it should be fine and should rotate sessions correctly. If set to `false` user sessions are likely to expire prematurely. It is strongly recommended you do not change this from the default setting. As a side effect, this will case all sessions - including anonymous sessions created when users have connected but not logged in yet - to be saved as a session in the store. This is because the current Cross Site Request Forgery option associates a token with a session in the browser. If you want to avoid creating anonymous sessions, set `csrf` to `false` to disable CSRF protection; sessions will then only be created when a user signs in. A future update should include the option to implement CSRF using the Double Submit Cookie method so it can be enabled without causing this side effect.
40 lines
1.2 KiB
JavaScript
40 lines
1.2 KiB
JavaScript
/**
|
|
* Simple example of how to use the NextAuth module.
|
|
*
|
|
* To invoke next-auth you will need to define a configuration block for your
|
|
* site. You can create a next-auth.config.js file and put all your options
|
|
* in it and pass it to next-auth when calling init().
|
|
*
|
|
* A number of sample configuration files for various databases and
|
|
* authentication options are provided.
|
|
**/
|
|
|
|
// Include Next.js, Next Auth and a Next Auth config
|
|
const next = require('next')
|
|
const nextAuth = require('next-auth')
|
|
const nextAuthConfig = require('./next-auth.config')
|
|
|
|
// Load environment variables from .env
|
|
require('dotenv').load()
|
|
|
|
// Initialize Next.js
|
|
const nextApp = next({
|
|
dir: '.',
|
|
dev: (process.env.NODE_ENV === 'development')
|
|
})
|
|
|
|
// Add next-auth to next app
|
|
nextApp.prepare()
|
|
.then(async () => {
|
|
// Load configuration and return config object
|
|
const nextAuthOptions = await nextAuthConfig()
|
|
|
|
// Pass Next.js App instance and NextAuth options to NextAuth
|
|
const nextAuthApp = await nextAuth(nextApp, nextAuthOptions)
|
|
|
|
console.log(`Ready on http://localhost:${process.env.PORT || 3000}`)
|
|
})
|
|
.catch(err => {
|
|
console.log('An error occurred, unable to start the server')
|
|
console.log(err)
|
|
}) |