PDA

View Full Version : سوال: web Api Token Authentication



fakhravari
چهارشنبه 12 مهر 1396, 15:33 عصر
چطوری میتونم با token که یک سری رشته هست در همان لحظه claims درست کنم و اطلاعاتش بخونم بدون درخواست دوباره به اکشن دیگه

hakim22
شنبه 15 مهر 1396, 19:03 عصر
اگر یک پروژه ی Default از نوع Web API به همراه Authorization ایجاد کنید خودش قابلیت Token رو داره.
کافی به آدرس /token از نوع POST نام و کلمه ی عبور یک کاربر رو ارسال کنید. اگر اطلاعات درست باشه در برگشت یک token به شما میده.
در این نوع تشخیص هویت باید توکن رو هر بار در هدر به سرور ارسال کنید. مثلا اگر یک اپ اندروید دارید برنامه ی اندروید باید توکن رو ذخیره کنه و هربار که درخواست جدیدی از سرور داره اون رو درون هدر ارسال کنه.

fakhravari
شنبه 15 مهر 1396, 19:41 عصر
یه جا خوندم Expire نداره و باید خودت کنترلش کنی ایا راهی برای Expire هست؟

hakim22
شنبه 15 مهر 1396, 20:58 عصر
فقط روش کار عوض میشه - در حالت معمول از کوکی در مرورگر برای ثبت اطلاعات امنیتی استفاده میشه و در این روش چون مرورگری وجود نداره از هدر HTTP استفاده میشه. Expire شدن مربوط به تنظیمات Identity هست. دلیل اینکه هربار باید توکن رو به سرور ارسال کنید هم همینه. قبل از انجام هر درخواست در سرور ابتدا توکن بررسی میشه. شما می توانید هر جا لازم بود توکن قبلی رو مردود کنید. حالا یا با توجه به شرایط کاربر (مثلا اگر مدیر یک کاربر رو بلاک کنه) یا با توجه به گذر زمان.

fakhravari
یک شنبه 16 مهر 1396, 22:18 عصر
فقط روش کار عوض میشه - در حالت معمول از کوکی در مرورگر برای ثبت اطلاعات امنیتی استفاده میشه و در این روش چون مرورگری وجود نداره از هدر HTTP استفاده میشه. Expire شدن مربوط به تنظیمات Identity هست. دلیل اینکه هربار باید توکن رو به سرور ارسال کنید هم همینه. قبل از انجام هر درخواست در سرور ابتدا توکن بررسی میشه. شما می توانید هر جا لازم بود توکن قبلی رو مردود کنید. حالا یا با توجه به شرایط کاربر (مثلا اگر مدیر یک کاربر رو بلاک کنه) یا با توجه به گذر زمان.

نمونه مردود میدید

Moien Tajik
یک شنبه 16 مهر 1396, 23:46 عصر
نمونه مردود میدید

در appsettings.json میتونید Expiry Time رو Set کنید.