یاسین گورکانی
4 سال پیش توسط یاسین گورکانی مطرح شد
4 پاسخ

login ماندن با reactjs

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


ثبت پرسش جدید
سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 4 سال پیش آپدیت شد
0

شما به یک 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 4 سال پیش آپدیت شد
0

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


یاسین گورکانی
تخصص : fullstack javascript developer
@yasingoorakani 4 سال پیش مطرح شد
0

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


سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 4 سال پیش آپدیت شد
0

شما به یک 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 4 سال پیش مطرح شد
0

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


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

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