NextAuth
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>
        </>
      )}
    </>
  );
}

Log Out

Log Out 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>
        </>
      )}
    </>
  );
}