راکت
حل شده

login ماندن با reactjs

4 پاسخ

سلام
من اموزش ( ساخت سایت فروشگاهی با Node JS ) رو از سایتتون گرفتم
برای VIEW از ReactJS استفاده کردم
وقتی می خوام از Passport استفاده کنم ( طبق ویدئو شماره ۸ ) Node اررور میده که استراتژی رو که استفاده کردم نمی شناسه
حالا سوال اینه که :
من احراز هویت رو سمت سرور انجام میدم ( با axios اطلاعات رو از form میفرستم به node و احراز هویت رو انجام میدم و session هم در mongoDB ذخیره میشه )
کاربر login میکنه با موفقیت اما از چه چیزی باید استفاده کنم تا اگر مثلاً صفحه refresh شد یا کاربر browser رو بست و دوباره باز کرد و ...
کاربر login بمونه ؟
اگر ماژول خاصی هست یا مبحث خاصی بگین که بخونم راجبش

ثبت پرسش جدید

پاسخ‌ها

4
سیدعلی موسوی
سیدعلی موسوی
@juza66

تخصص: سی شارپ و پی اچ پی

بهترین پاسخ

شما به یک url درخواست ایجکس میدی نام کاربری و رمز رو به url میدی در صورت صحیح بودن اطلاعات سرور شما یک توکن براتون برمگیردونه تا اینجا اوکی؟!

axios.post('http://localhost:3000/api/v1/login', {
      email    : this.state.email,
      password : this.state.password
    })
  .then(user => {
    /* */
  })

شما نام کاربری و توکن رو تویی state ذخیره میکنی برای ادامه کارها و در ادامه ش در لوکال استورج

// setter
localStorage.setItem('myData', data);
// getter
localStorage.getItem('myData');
// remove
localStorage.removeItem('myData');
// remove all
localStorage.clear();

یا کوکی هم ذخیره کنید و توی متد componetDidMount فایل app.js همیشه چک میکنی که توکن تویی لوکال استورج یا کوکی رو داری ؟ اگر داری میتونی کامپونت پروفایل کاربر رو براش نمایش بدی یا اگر میخوای مطمئن باشی کاربر دستی توکن رو اضاف نکرده بعد از گرفتن توکن از لوکال استورج یا کوکی به url مورد نظرت درخواست ایجکس میدی و توکن رو ارسال میکنی اگر درست بود اطلاعات کاربری رو میگیری و کامپونت مربوطه رو نمایش میدی.

اینجا با استفاده از Redux توضیح داده
https://jasonwatmore.com/post/2017/09/16/react-redux-user-registration-and-login-tutorial-example

سیدعلی موسوی
سیدعلی موسوی
@juza66

تخصص: سی شارپ و پی اچ پی

تویی کوکی یا استورج مرورگر توکن و بقیه اطلاعات رو ذخیره کنی، توی کدهای react توی متد ComponetDidMount هم اول چک کن ببین توکن و .. رو داری اگر داری توکن رو ارسال میکنی به سرور و کامپونتت ها رو اپدیت میکنی اگر نبود که دیگه کاری نمیکنی.

یاسین گورکانی
یاسین گورکانی
@yasingoorakani

تخصص: fullstack javascript developer

@juza66
ببخشید من دروست متوجه نشدم
میشه یه مرجع بم بدید یا مثالی چیزی

شاید پاسخ شما همین‌جا باشد

سیدعلی موسوی
سیدعلی موسوی
@juza66

تخصص: سی شارپ و پی اچ پی

پیشنهاد میکنم این آموزش رو ببینی خیلی خوب و کامل آموزش reactjs رو داده
https://roocket.ir/series/learn-react-js

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام