1.1.1 • Published 4 months ago

@shpaw415/next-login v1.1.1

Weekly downloads
-
License
MIT
Repository
github
Last release
4 months ago

ENV variables

  • JWT_SECRET=<random 32 char>

-- Exemple --

Credential Login

  1. create ( server.ts & client.ts )

  2. in server.ts

"use server";
import { credentialsLogin } from "@shpaw415/next-login";

async function logOpts() {
  return await credentialsLogin<{
    username: string;
    password: string;
  }>({
    loginCallback: async (data) => {
      return { username: data.username };
    },
  });
}

export const Login = async (data: { username: string; password: string }) =>
  (await logOpts()).login(data);

export const Logout = async () => (await logOpts()).logout();

export const getSession = async () => (await logOpts()).getSession();
  1. in client.ts
import { handleLogin, getSessionData, Logout } from "./server";
import { useSession } from "@shpaw415/next-login";

export default ReactElement() {
	const session = useSession(false);
	const serverAction_makeLogin = async () => {
		const logopts
		const loginStatus = await LogOpts({
			username: "JohnDoe",
			password: "Pa33w0rd"
		});
		if(!loginStatus) { /*login did not work...*/ }
		else {
			/*Login Success*/
			session.setSessionData(await getSessionData());
		}
	};
	const serverAction_logout = async () => {
		await Logout();
		session.logout();
	}
}

Feature Docs

useSession

  • Every React-Components using: useSession(true) will be reRendered with the call of method ( session.setStatus(), session.setSessionData() or session.logout() )
1.1.1

4 months ago

1.1.0

5 months ago

1.0.6

5 months ago

1.0.2

5 months ago

1.0.1

5 months ago

1.0.5

5 months ago

1.0.4

5 months ago

1.0.3

5 months ago

1.0.0

5 months ago

0.1.0

5 months ago

0.1.1

5 months ago

0.0.24

5 months ago

0.0.25

5 months ago

0.0.3

5 months ago

0.0.21

5 months ago

0.0.22

5 months ago

0.0.23

5 months ago

0.0.2

5 months ago

0.0.1

5 months ago