ورود

View Full Version : انواع احراز هویت در دات نت



mmbguide
چهارشنبه 26 بهمن 1401, 11:49 صبح
سلام خدمت دوستان

سوالم این هستش که در مجموع چند روش برای احراز هویت در دات نت و مخصوصا برنامه های وب وجود داره. من اصطلاحات و عبارات زیر را که در آموزش های مختلف برخورد داشتم رو عنوان میکنم و لطفا اگر کسی اطلاعاتی داره پست کنه. کدام منسوخ شده و کدام تمامی این روش ها را پوشش میده و در مجموع کدام را برای یادگیری دنبال کنم:

Identity
OAuth2
OpenID
IdentityServer
JWT
FAPI
Mutual TLS
DPoP
JARM
JAR
PAR
SSO
SAML
LDAP


آنچه خودم متوجه شدم:

Identity: کتابخانه دات نت که برای احراز هویت کاربران براساس نام کاربر و پسورد میشه تمام مکانیزم ها را در یک برنامه پیاده سازی کرد.
OpenID: یک پوشش سطح بالاتر برای OAuth هستش. البته اونطور که متوجه شدم بهتره که OpenId را یاد بگیرم.
IdentityServer: برای ایجاد سرویس احراز هویت واحد برای چندین نرم افزار می باشد. اما اینکه درون این سیستم از کدام روش باید استفاده بشه اطلاعاتی ندارم.
JWT: احراز هویت با استفاده از Token که Clientهای مختلف با استفاده از دستگاه های مختلف میتونند در زمان استفاده از یک برنامه براحتی احراز هویت بشن.


سوال:

سایر اصطلاحاتی را که نوشتم نمیدانم چه کاربردی دارند.
برای یک برنامه Asp Net Core 6 که بصورت Razor Page نوشته شده کدام روش برای احراز هویت بهتره؟
اگر قرار باشه یک پروژه API داشته باشم و UI برنامه را به Asp Net Core و Razor Page بنویسم آیا JWT گزینه بهتریه؟
آیا اصلا نیازی به پیاده سازی IdentityServer برای برنامه ضروریه؟ حتی اگر برنامه تجاری و بزرگ باشه ولی در انتها یک Web Application باشه؟


ممنون میشم اگر دوستان راهنمایی کنند. سپساس

mmbguide
جمعه 28 بهمن 1401, 18:36 عصر
سلام خدمت دوستان

اگر میشه تفاوت access_token و identity_token را هم توضیح بدید. آنطور که متوجه شدم identity_token در بخش payload اطلاعاتی در خصوص claimهای کاربر داره اما access_token فقط یک کد هستش. فارغ از محتوای موجود در هر دو token، ایا از نظر مفهوم و کارکرد یکی هستند؟ چون در برخی مستندات بعد از تولید token اون را با نام access_token ذخیره میکردند و UserClaims هم در بخش payload وجود داشته.

تشکر