nextparty

0.0.1 • Public • Published

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

/nextparty/

    Package Sidebar

    Install

    npm i nextparty

    Weekly Downloads

    0

    Version

    0.0.1

    License

    ISC

    Unpacked Size

    68.9 kB

    Total Files

    3

    Last publish

    Collaborators

    • skogard