سلام آقای شیخ خسته نباشید.
چرا داخل value کانتکست خود setUser رو اضافه نکردید؟
<button onClick={async ()=> {
await logout()
await setUser(null)
} } className="btn btn-sm btn-dark me-2">Logout</button>
هادی بهرامی
سلام استاد خسته نباشید
سوالی که داشتم
اینکه من در یک کلاینت کامپوننت در بخش use effect یک تابع صدا میزنم که وظیفه آن تابع این است که دیتا ای را از بکند با fetch دریافت کند
من برای اینکه از sanctum استفاده کنم باید token را از cookie دریافت کنم و به این تابع بفرستم و در قسمت fetch به بکند ارسال کنم
اما چون token از نوع httponly است در کلاینت کامپوننت نمیتوانم بگیرم
از طرفی روش دیگری را هم امتحان کردمcredentials:include این بخش را هم اضافه کردم و تنظیمات مربوط به cors رو انجام دادم با این حال cookie مربوط به توکن رو نفرستاد به سرور
اگر لطف کنید یک راه حل اصولی راهنمایی کنید
ممنون از شما و زحماتتان
علی شیخ
2 روز پیش
سلام وقت بخیر.
میتونید یک api داخلی در نکست بزنید و به اون درخواست بزنید و در اونجا چون سمت سرور هندل میشه به کوکی دسترسی دارید و حالا درخواست بزنید به api پروژه لاراولیتون و جواب رو دریافت کنید روند کار کلا قبلا به این شکل بود تا بحث سرور کامپوننت ها مطرح شد که این روند رو نره و توی خودش هندل کنه و نیاز به api داخلی نباشه اما اگه قراره از کامپوننت های کلاینتی باشه و یکسری دیتا نیاز باشه که فقط توی سرور در دسترس هست از api داخلی نکست استفاده میشه
حتی یک روش دیگه هم هست و اونم اینکه توکن از سمت سرور توی بدنه یا body جواب ارسال نمیشه و مستقیما توی header و کوکی ذخیره میشه و نیازی به ذخیره در سمت نکست نیست و توی درخواست ها مرورگر خودش ارسال میکنه که این بستگی به اون پروژه بک اندی داره، اما خب خیلی وقتا پروژه ها به شکلی هستند که توکن توی بدنه ارسال میشه و ما هم مثالش رو زدیم.