با نحوه ذخیره داده های احراز هویت کاربر و سایر اطلاعات شخصی شده با استفاده از کوکی ها و ذخیره سازی جلسه در React آشنا شوید.
احراز هویت به عنوان یک مانع محافظ برای برنامه های کاربردی نرم افزار عمل می کند، هویت کاربران را تأیید می کند و به منابع محافظت شده دسترسی می دهد. با این حال، الزام کاربران به احراز هویت مکرر، بهویژه در یک جلسه، میتواند منجر به ناامیدی، مانع از بهرهوری و خراب کردن تجربه کلی آنها شود.
برای غلبه بر این چالش، میتوانید از کوکیها و ذخیرهسازی جلسه برای تداوم دادههای احراز هویت کاربر و سایر اطلاعات شخصیشده استفاده کنید – به کاربران اجازه میدهد در طول یک جلسه بدون نیاز به احراز هویت مجدد ثابت باقی بمانند و در نتیجه تجربه خود را بهبود بخشند.
مدیریت دادههای جلسه کاربر با استفاده از کوکیها و ذخیرهسازی جلسه
مدیریت جلسات کاربر یک جنبه حیاتی در ساخت برنامه های React قوی و ایمن است. مدیریت صحیح دادههای جلسه با استفاده از کوکیها و ذخیرهسازی جلسه، تجربه کاربری روان و شخصیشده را در عین حفظ اقدامات امنیتی لازم تضمین میکند.
دادههای جلسه کاربر معمولاً شامل اطلاعاتی است که مختص جلسه فعلی کاربر یا تعامل با یک برنامه است. این داده ها می تواند بسته به الزامات و عملکرد برنامه متفاوت باشد، اما معمولاً شامل موارد زیر است:
- اطلاعات مربوط به احراز هویت
- تنظیمات و تنظیمات کاربر
- فعالیت و سابقه کاربر
کوکی ها فایل های متنی هستند که حاوی قطعات کوچکی از داده های ذخیره شده توسط مرورگرهای وب در دستگاه کاربر هستند. آنها معمولاً برای ذخیره داده های احراز هویت و سایر اطلاعات شخصی سازی شده کاربر استفاده می شوند و به برنامه های کاربردی وب اجازه می دهند جلسات کاربر را در چندین جلسه مرورگر حفظ کنند.
از سوی دیگر، ذخیرهسازی جلسه – مشابه ذخیرهسازی محلی – یک مکانیسم ذخیرهسازی سمت مشتری است که توسط مرورگرهای مدرن ارائه میشود. برخلاف کوکی ها، محدود به یک جلسه مرور خاص است و فقط در همان برگه یا پنجره قابل دسترسی است. ذخیره سازی جلسه روشی ساده و سرراست برای ذخیره داده های مربوط به جلسه برای برنامه های کاربردی وب ارائه می دهد.
هم کوکیها و هم ذخیرهسازی جلسه نقش مهمی در مدیریت دادههای جلسه کاربر دارند. کوکی ها در شرایطی که ماندگاری داده در چندین جلسه مورد نیاز است عالی هستند. در مقابل، ذخیرهسازی جلسه زمانی سودمند است که میخواهید دادهها را در یک جلسه مرور جدا کنید و یک گزینه ذخیرهسازی سبک و خاص ارائه دهید.
اکنون، بیایید نحوه مدیریت دادههای جلسه کاربر، به ویژه تمرکز بر ذخیره اطلاعات احراز هویت با استفاده از کوکیها و ذخیرهسازی جلسه را بررسی کنیم.
یک پروژه React راه اندازی کنید
برای شروع، یک پروژه React را با استفاده از Vite راه اندازی کنید. در مرحله بعد، این بسته ها را در پروژه خود نصب کنید.
npm install js-cookie react-router-dom
در حالت ایدهآل، پس از ورود کاربر و تأیید اعتبار اعتبار آنها توسط یک API تأیید اعتبار پشتیبان، کوکیها و ذخیرهسازی جلسه توکنهای تأیید هویت، شناسههای جلسه یا هر داده مرتبط دیگری در طول جلسه کاربر تأیید شد.
این نشانهها یا شناسهها به همراه دادههای اضافی ذخیرهشده در مرورگر کاربر بهطور خودکار در درخواستهای بعدی که برای تأیید به سرور ارائه میشوند، قبل از اینکه کاربر بتواند به منابع محافظتشده دسترسی پیدا کند، گنجانده میشود.
به این ترتیب، جلسه کاربر در چندین درخواست ادامه مییابد – تا اطمینان حاصل شود که آنها به طور یکپارچه با برنامه بدون نیاز به احراز هویت مجدد برای هر درخواست تعامل دارند.
می توانید کد این پروژه را در این مخزن GitHub پیدا کنید.
مدیریت داده های جلسه احراز هویت کاربر با استفاده از کوکی ها
برای نشان دادن نحوه استفاده از کوکی ها برای ذخیره اطلاعات احراز هویت کاربران، ادامه دهید و یک فایل components/Login.jsx جدید در دایرکتوری src ایجاد کنید. داخل این فایل کد زیر را اضافه کنید.
- واردات زیر را انجام دهید import { useState } از ‘react’;import { useNavigate } از ‘react-router-dom’;وارد کردن کوکی ها از ‘js-cookie’;
- یک جزء کاربردی ایجاد کنید و عناصر JSX را برای یک فرم ورود اضافه کنید. const Login = () => { const [username, setUsername] = useState(”); const [password, setPassword] = useState(”); بازگشت (