نیلوفر حریرچیان
4 سال پیش توسط نیلوفر حریرچیان مطرح شد
6 پاسخ

دریافت توکن

سلام چجوری باید توی پروژه ی ری اکتم یه توکن رو ذخیره کنم و توی تمام request هام به سمت سرور ارسالش کنم؟
این توکن با ریسپانس api میاد سمت فرانت؟
من توی ری اکت تازه کارم ممنون میشم به زبان ساده راهنماییم کنید

از من خواستن از CSRF protection استفاده کنم


ثبت پرسش جدید
Amir
@amirbistbist 4 سال پیش مطرح شد
0

سلام @niloofarharirchian90
شما وقتی که یک request به سرور میفرستید (همراه با اطلاعاتی که کاربر وارد کرده - مثلا ایمیل و پسورد)، اونوقت اگه اطلاعات صحیح باشه یک token در response دریافت میکنید.
این token رو در localStorage یا sessionStorage مرورگر کاربر ذخیره میکنید
و از این به بعد هر وقت بخواید درخواستی به سرور بفرستید که نیاز به توکن باشه (برای authorization) اون توکن رو از localStorage یا sessionStorage برمیدارید و به عنوان یک header به سرور میفرستید
اگه دارید از axios استفاده میکنید به این شکل خواهد بود.

      const config = {
        headers: {
          token: localStorage.getItem('token')
        }
      }
      Axios('https://example.com/something', config).then(...)

سجاد نوری
تخصص : توسعه دهنده
@sajjad.n98 4 سال پیش آپدیت شد
0

سلام
شما بعد از لاگین کاربر یک توکن از سرور میگیرید و اینو باید توی هدر درخواست هاتون بذارید. با استفاده از پکیج axios به این شکل میتونید توکن و بذارید داخل هدر ریکوئست ها:

const token = yourToken;

axios.interceptors.request.use(function (config) {
config.headers.Authorization = Bearer ${token};
return config;
});
بعد از این توکن داخل هدر هست و سرور کاربر و میتونه شناسایی کنه.


Amir
@amirbistbist 4 سال پیش مطرح شد
0

سلام @niloofarharirchian90
شما وقتی که یک request به سرور میفرستید (همراه با اطلاعاتی که کاربر وارد کرده - مثلا ایمیل و پسورد)، اونوقت اگه اطلاعات صحیح باشه یک token در response دریافت میکنید.
این token رو در localStorage یا sessionStorage مرورگر کاربر ذخیره میکنید
و از این به بعد هر وقت بخواید درخواستی به سرور بفرستید که نیاز به توکن باشه (برای authorization) اون توکن رو از localStorage یا sessionStorage برمیدارید و به عنوان یک header به سرور میفرستید
اگه دارید از axios استفاده میکنید به این شکل خواهد بود.

      const config = {
        headers: {
          token: localStorage.getItem('token')
        }
      }
      Axios('https://example.com/something', config).then(...)

نیلوفر حریرچیان
تخصص : Front End Developer
@niloofarharirchian90 4 سال پیش مطرح شد
0

@amirsolo
بله از axios استفاده میکنم.
این توکن تو بادی response میاد؟
چجوری باید تو localStorage ذخیرش کنم؟


کامران داور
تخصص : Front-end developer
@kamran.davar 4 سال پیش مطرح شد
0

برای استفاده از لوکال استوریج از دو متد زیر استفده کنید: @niloofarharirchian90

localStorage.getItem(key)
localStorage.setItem(key: value)

نیلوفر حریرچیان
تخصص : Front End Developer
@niloofarharirchian90 4 سال پیش مطرح شد
0

@kamran.davar
@amirsolo
ممنون فقط به عنوان اخرین سوال توکن تو بادی ریسپانس api میاد که من دریافت و ذخیره کنم؟


Amir
@amirbistbist 4 سال پیش مطرح شد
0

@niloofarharirchian90
بله در بادی ریسپانس هست
البته هر کس به یک نحوی ریسپانس های API رو طراحی میکنه و اسم گذاری میکنه
ممکنه مثلا با اسم token باشه
یا با اسم x-auth-token
یا ...

در هر صورت در بادی ریسپانس هست
ریسپانس رو console.log کنید و یه نگاهی به response بندازید، پیداش میکنید

در پرانتز اشکال آقای داور هم اشاره کنم، که احیانا به مشکل برنخورید. برای اضافه کردن value در localStorage بجای دو نقطه باید از کاما استفاده کنید. به این شکل:

localStorage.setItem(key, value)

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

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