تخطَّ إلى المحتوى

شرح Next.js

أنماط المصادقة

الدرس 21 من 25· ⏱ 1 دقائق قراءة

الخيار الأشهر: Auth.js (NextAuth)

npm install next-auth
// auth.ts
import NextAuth from "next-auth";
import GitHub from "next-auth/providers/github";

export const { handlers, auth, signIn, signOut } = NextAuth({
  providers: [GitHub],
});

معالِج المسار

// app/api/auth/[...nextauth]/route.ts
import { handlers } from "@/auth";
export const { GET, POST } = handlers;

قراءة الجلسة على الخادم

import { auth } from "@/auth";

export default async function Page() {
  const session = await auth();
  if (!session) return <p>سجّل الدخول أوّلًا</p>;
  return <p>أهلًا {session.user?.name}</p>;
}

أزرار الدخول/الخروج

import { signIn, signOut } from "@/auth";

<form action={async () => { "use server"; await signIn("github"); }}>
  <button>دخول عبر GitHub</button>
</form>

💡 احمِ المسارات عبر auth() في الصفحة أو عبر الوسيط (الدرس السابق).

🎯 التالي: قواعد البيانات.

هل كان هذا الدرس مفيدًا؟