- IdentityServer نگارش 4، آخرین نگارش سورس باز و رایگان آن است و تا زمان پشتیبانی NET Core 3.1. که سال 2022 است، پشتیبانی خواهد شد.
- نگارش بعدی آن که Duende IdentityServer نام
دارد، سورس باز است، اما رایگان نیست؛ چیزی شبیه به مجوز iTextSharp. برای
کارهای تجاری باید مجوز آن خریده شود و برای کارهای کاملا سورس باز،
رایگان است.
- مقدار AccessTokenExpirationMinutes را در فایل تنظیمات برنامه تغییر دهید.
- مفهوم refresh token در اینجا شبیه به پیاده سازی sliding expiration برای کوکیها است. اطلاعات بیشتر: «معرفی JSON Web Token» + مثال به روز رسانی خودکار توکن منقضی شده با یک تایمر سمت کلاینت، در سری «احراز هویت و اعتبارسنجی کاربران در برنامههای Angular» عمیقتر بررسی شدهاست.
ذخیره سازی اصل توکن که در اینجا انجام شده، در ASP.NET Core Identity معادلی ندارد و جزو ابتکارات این پروژه است. هرچند پروژهی Identity Server چیزی شبیه به آنرا دارد: «امن سازی برنامههای ASP.NET Core توسط IdentityServer 4x - قسمت نهم- مدیریت طول عمر توکنها»؛ تحت مفهوم «Reference Tokens».
چگونه میتوان در تزریق وابستگی به استفاده از unitofwork ویو BlogPostCounts را صدا زد؟ و مقدار آن را خواند
شبیه این روند
شبیه این روند
private readonly IUnitOfWork _uow; private readonly DbSet<Student> _student; public StudentService(IUnitOfWork uow) { _uow = uow; _uow.CheckArgumentIsNull(nameof(_uow)); _student = _uow.Set<Student>(); }
نظرات مطالب
امن سازی برنامههای ASP.NET Core توسط IdentityServer 4x - قسمت هشتم- تعریف سطوح دسترسی پیچیده
بر فرض مثال اگر ما بخواهیم در API یک Dynamic Policy شبیه DynamicPermissionsAuthorizationHandler داشته باشیم که با آن بتوانیم با استفاده از RoleClaims عملیات دسترسی را پیاده سازی کنیم
(لازم به ذکر است که از پروژه skoruba.IdentityServer4.Admin استفاده میکنم و جداول مربوط به Asp.net Core Idenity پیاده سازی شده است)
چطور میتوان بدون اینکه حجم کوکی id_token را افزایش دهیم ، API از این RoleClaimsها آگاه شود ؟
عرض سلام
- برای استفاده از IdentityServer شبیه به تلگرام و امثالهم که با استفاده از یک شماره تماس درخواست ورود به سیستم داده میشه و بعد کد فعال سازی برای کاربر ارسال میشه، باید از اعتبارسنجی دو مرحله ای با استفاده از یک کلاینت MVC استفاده کرد؟- یا اینکه کلاینتی برای اپلیکیشن اندروید(یا ios) درون IDP از نوع Implicit Flow ایجاد کنیم و با استفاده از لایبرری هایی مانند AppAuth-JS به سرور متصل بشیم؟
اگر از سیستم DNT Identity استفاده میکنید که خودش مبتنی بر کوکیها است و نیازی ندارید هیچ پیاده سازی دیگری را به آن اضافه کنید. اگر مطلب «اعتبارسنجی مبتنی بر کوکیها در ASP.NET Core 2.0 بدون استفاده از سیستم Identity» عنوان شد، فقط از این جهت بود که دیدی را جهت ارائهی یک سیستم کوچک و خانگی شبیه به ASP.NET Core Identity ارائه دهد؛ نه اینکه هر دو را با هم استفاده کنید (جمع بستن دو سیستم اعتبارسنجی مبتنی بر کوکیها ... غیرضروری است).
یک نکتهی تکمیلی
افزونهی vscode-solution-explorer بسیاری از فرامین CLI را به صورت خودکار انجام میدهد و کار با solution را شبیه به ویژوال استودیو بر اساس کلیک راست و افزودن پروژه یا ارجاعات میسر میکند. برای کار با آن باید یک فایل sln خالی در ریشهی پروژه از پیش موجود باشد یا امکان افزودن آن توسط command palette هم میسر است:
نظرات مطالب
احراز هویت و اعتبارسنجی کاربران در برنامههای Angular - قسمت چهارم - به روز رسانی خودکار توکنها
«... تمامی توکنهای شخص حذف میشوند ...»
تمام توکنهای قبلی و نه جدید. شخص در این حالت فقط یک درخواستش برگشت خواهد خورد. اگر مجددا سعی کند، چون توکن جدیدی به کش اضافه شده و جای توکن قبلی را گرفته، درخواست دوم او پذیرفته میشود.
من قصد هیچگونه تغییری را در این مورد ندارم چون اهمیتی ندارد. چون کل این بحث refresh token فقط یک «لطف» هست به کاربر و نه یک الزام. چیزی است شبیه به sliding expiration در مورد کوکیها که خیلیها اساسا از آن استفاده نمیکنند و Absolute Expiration و وادار کردن کاربر به لاگین مجدد را ترجیح میدهند.
یک نکتهی تکمیلی
شاید جذابترین قسمت کار با استراکچرمپ، قسمت scan آن باشد که میتواند اتصالات را به صورت خودکار از اسمبلیهای مختلفی تشخیص داده و قسمت تعاریف مقدماتی تزریق وابستگیهای سیستم را کاهش دهد.کتابخانهی Scrutor ، دقیقا شبیه به همین قابلیت را آنهم به صورت افزونهای برای سیستم تزریق وابستگیهای استاندارد NET Core. فراهم میکند.
شاید جذابترین قسمت کار با استراکچرمپ، قسمت scan آن باشد که میتواند اتصالات را به صورت خودکار از اسمبلیهای مختلفی تشخیص داده و قسمت تعاریف مقدماتی تزریق وابستگیهای سیستم را کاهش دهد.کتابخانهی Scrutor ، دقیقا شبیه به همین قابلیت را آنهم به صورت افزونهای برای سیستم تزریق وابستگیهای استاندارد NET Core. فراهم میکند.