@boneybone/next-auth-server
v0.0.1
Published
The Auth.js Provider for Boneybone Auth Server
Readme
Auth Server SDK
This is the Boneybone Auth Server SDK For Next.js or any frontend supported by Auth.js to use the BB Auth Server engine.
To use this SDK, you need to create an BB Auth Server Application to obtain the Client ID & Client Secret.
Installation
npm install @boneybone/next-auth-serverSetup
1. Set the .env variables
Once you obtain a clientId and clientSecret, set it to the .env file as follows:
AUTH_SERVER_CLIENT_ID="YOUR CLIENT ID"
AUTH_SERVER_CLIENT_SECRET="YOUR CLIENT SECRET"
AUTH_SERVER_ENDPOINT="THE DOMAIN WHERE THE AUTH-SERVER WERE DEPLOYED"2. Configure NextAuth
Create or update your NextAuth configuration file:
App Router (app/api/auth/[...nextauth]/route.ts):
import NextAuth from "next-auth";
import BoneyboneAuthServer from "@boneybone/next-auth-server";
const handler = NextAuth({
providers: [
BoneyboneAuthServer({
clientId: process.env.AUTH_SERVER_CLIENT_ID!,
clientSecret: process.env.AUTH_SERVER_CLIENT_SECRET!,
issuer: process.env.AUTH_SERVER_ENDPOINT!,
}),
],
});
export { handler as GET, handler as POST };Pages Router (pages/api/auth/[...nextauth].ts):
import NextAuth from "next-auth";
import BoneyboneAuthServer from "@boneybone/next-auth-server";
export default NextAuth({
providers: [
BoneyboneAuthServer({
clientId: process.env.AUTH_SERVER_CLIENT_ID!,
clientSecret: process.env.AUTH_SERVER_CLIENT_SECRET!,
issuer: process.env.AUTH_SERVER_ENDPOINT!,
}),
],
});3. Add Login Button
import { signIn } from "next-auth/react";
export default function LoginButton() {
return (
<button onClick={() => signIn("boneybone-auth-server")}>Sign in</button>
);
}