سلام
من اموزش ( ساخت سایت فروشگاهی با Node JS ) رو از سایتتون گرفتم
برای VIEW از ReactJS استفاده کردم
وقتی می خوام از Passport استفاده کنم ( طبق ویدئو شماره ۸ ) Node اررور میده که استراتژی رو که استفاده کردم نمی شناسه
حالا سوال اینه که :
من احراز هویت رو سمت سرور انجام میدم ( با axios اطلاعات رو از form میفرستم به node و احراز هویت رو انجام میدم و session هم در mongoDB ذخیره میشه )
کاربر login میکنه با موفقیت اما از چه چیزی باید استفاده کنم تا اگر مثلاً صفحه refresh شد یا کاربر browser رو بست و دوباره باز کرد و ...
کاربر login بمونه ؟
اگر ماژول خاصی هست یا مبحث خاصی بگین که بخونم راجبش
شما به یک 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
تویی کوکی یا استورج مرورگر توکن و بقیه اطلاعات رو ذخیره کنی، توی کدهای react توی متد ComponetDidMount هم اول چک کن ببین توکن و .. رو داری اگر داری توکن رو ارسال میکنی به سرور و کامپونتت ها رو اپدیت میکنی اگر نبود که دیگه کاری نمیکنی.
شما به یک 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
پیشنهاد میکنم این آموزش رو ببینی خیلی خوب و کامل آموزش reactjs رو داده
https://roocket.ir/series/learn-react-js
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟