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