ورود

View Full Version : سوال: نحوه کار با JSON Web Token JWT در mvc



Iran58
پنج شنبه 04 خرداد 1396, 13:42 عصر
سلام
چگونه می توانم یک cookie را به کمک JSON Web Token JWT رمزنگاری کنم و چطور از ان استفاده کنم در برنامه
باتشکر

Iran58
دوشنبه 15 آبان 1396, 09:41 صبح
سلام
مهندسان ممنون می شوم راهنمای بفرمایید
یا چگونگی استفاده از
JWT در یک برنامه asp.net core را توضیح دهند

Moien Tajik
دوشنبه 15 آبان 1396, 11:09 صبح
چگونه می توانم یک cookie را به کمک JSON Web Token JWT رمزنگاری کنم و چطور از ان استفاده کنم در برنامه
JWT ارتباطی با Cookie نداره و عملا میشه گفت برای نیاز پیدا نکردن به Cookie ایجاد شده : https://tools.ietf.org/html/rfc7519

در Device های موبایل شما چیزی به اسم Cookie نمیتونید در برنامه ذخیره کنید و Cookie معنایی نداره ;
برای همین از روش دیگه ای برای Authentication باید استفاده کنید که راه پیشنهادی JWT هست.

نحوه کار JWT به این شکل هست که شما یک API Endpoint برای Authentication ایجاد میکنید ( یک اکشن Web API ) ، کاربر شما به این اکشن Username, Password میفرسته.
شما طبق روال سابق مقادیر دریافت شده رو از دیتابیس میخونید و اگر صحیح بود ، اینبار بجای Set کردن یک Cookie ، برای کاربر یک توکن Generate میکنید و این Token رو بهش برمیگردونید.
کاربر با هر درخواستش این Token ای رو که شما Generate کردید در Request Header به سرور میفرسته ، شما Token رو از Request Header دریافت میکنید و اعتبار سنجیش میکنید و اگر معتبر بود ، کاربر Authorize میشه و میتونه به یک اکشن Authorize شده دسترسی پیدا کنه.
بیشتر از JWT در برنامه های موبایل که با API وب ارتباط دارن و Single Page Application ها استفاده میشه و بهتر هست برای برنامه وب معمولیتون از همون Cookie استفاده کنید.

https://goo.gl/5JVEVt

Iran58
دوشنبه 15 آبان 1396, 11:45 صبح
JWT ارتباطی با Cookie نداره و عملا میشه گفت برای نیاز پیدا نکردن به Cookie ایجاد شده : https://tools.ietf.org/html/rfc7519

در Device های موبایل شما چیزی به اسم Cookie نمیتونید در برنامه ذخیره کنید و Cookie معنایی نداره ;
برای همین از روش دیگه ای برای Authentication باید استفاده کنید که راه پیشنهادی JWT هست.

نحوه کار JWT به این شکل هست که شما یک API Endpoint برای Authentication ایجاد میکنید ( یک اکشن Web API ) ، کاربر شما به این اکشن Username, Password میفرسته.
شما طبق روال سابق مقادیر دریافت شده رو از دیتابیس میخونید و اگر صحیح بود ، اینبار بجای Set کردن یک Cookie ، برای کاربر یک توکن Generate میکنید و این Token رو بهش برمیگردونید.
کاربر با هر درخواستش این Token ای رو که شما Generate کردید در Request Header به سرور میفرسته ، شما Token رو از Request Header دریافت میکنید و اعتبار سنجیش میکنید و اگر معتبر بود ، کاربر Authorize میشه و میتونه به یک اکشن Authorize شده دسترسی پیدا کنه.
بیشتر از JWT در برنامه های موبایل که با API وب ارتباط دارن و Single Page Application ها استفاده میشه و بهتر هست برای برنامه وب معمولیتون از همون Cookie استفاده کنید.

https://goo.gl/5JVEVt
سلام
الف) برای برنامه های mvccore2 پیشنها شما چیست؟
ب)باری رمز نگاری کوکیها پسشنهاد شما چیست؟
ج)ایا مدت اعتبار(انقضا)هم می توان مانند کوکی ها بهJWT اختصاص داد؟
باتشکر

Moien Tajik
دوشنبه 15 آبان 1396, 14:41 عصر
الف) برای برنامه های mvccore2 پیشنها شما چیست؟
اگر برنامه معمولی دارید و فقط از طریق وب در دسترس هست و API نداره => Cookie Authentication
اگر SPA Application درست میکنید => JWT Token Authentication


ب)باری رمز نگاری کوکیها پسشنهاد شما چیست؟
https://stackoverflow.com/a/4360903/6661314


ج)ایا مدت اعتبار(انقضا)هم می توان مانند کوکی ها بهJWT اختصاص داد؟
بله با Bearer براحتی قابل تنظیم هست.