NextAuth.js
Session

NextAuth Session

Penggunaan session pada next-auth dapat dilakukan dengan menggunakan useSession hook. Hook ini akan mengembalikan array dengan dua nilai, yaitu session dan loading. session akan berisi data session yang didapatkan dari server, sedangkan loading akan berisi nilai true ketika sedang melakukan request ke server untuk mendapatkan session.

import { useSession } from "next-auth/react";
 
export default function Page() {
  const { status } = useSession();
 
  if (loading) {
    return <p>Loading...</p>;
  }
 
  return (
    <>
      {!session && (
        <>
          <p>Anda belum login</p>
        </>
      )}
      {session && (
        <>
          <p>Halo {session.user.name}</p>
        </>
      )}
    </>
  );
}

Logout

Logout dapat dilakukan dengan menggunakan signOut function yang didapatkan dari useSession hook.

import { useSession, signOut } from "next-auth/react";
 
export default function Page() {
  const { session } = useSession();
 
  return (
    <>
      {session && (
        <>
          <p>Halo {session.user.name}</p>
          <button onClick={() => signOut()}>Logout</button>
        </>
      )}
    </>
  );
}