nextparty
v0.0.1
Published
# Install
Downloads
3
Readme
Nextparty
Install
npm install nextparty
and import from project
import Nextparty from 'nextparty'
of
const Nextparty = require('nextparty')
Usage
1. Authentication
To add authentication to your app, all you need to do is create a file named: /pages/api/privateparty/[[...route]].js
:
// Authentication
const Nextparty = require('nextparty')
const party = new Nextparty({
secret: "secret"
})
party.add(“user”)
export default function handler(req, res) {
return party.handler(req, res)
}
Note that the file exports a handler function that calls party.handler(req, res)
2. Protect routes
Protect Pages
You can protect pages with getServerSideProps
:
import Nextparty from 'nextparty'
const party = new Nextparty({
secret: "secret"
})
export default function Home() {
return (
<h1>Hello world</h1>
)
}
// Just add this function to protect this page
export async function getServerSideProps({ req, res }) {
let error = await party.protect("user", req, res)
if (error) {
return error
} else {
return { props: {} }
}
}
Note that:
- the
secret
must match the secret used in the authentication step
Protect API
Let's protect the route /api/hello
by creating a file at /pages/api/hello.js
(next.js convention)
const Nextparty = require('nextparty')
const party = new Nextparty({
secret: "secret" // cookie signing secret
})
export default async function handler(req, res) {
let error = await party.protect("member", req, res)
if (error) {
res.json({ error: "not authorized", login: error.redirect })
} else {
res.json(req.session)
}
}
Note that:
- the
secret
must match the secret used in the authentication step