اشتراک‌ها
شروع به کار با IdentityServer 6

Creating an IdentityServer 6 Solution

00:00 Self-Signed Certificate
04:40 Docker Compose
07:30 PostgreSQL Database
09:40 IdentityServer
1:15:30 API
1:40:15 Console Application
1:50:35 Web Application
2:07:10 Single-Page Application 

شروع به کار با IdentityServer 6
اشتراک‌ها
دریافت خودکار پیامک کد تایید اعتبارسنجی با WebOTP API

The current process creates friction for users. Finding an OTP within an SMS message, then copying and pasting it to the form is cumbersome, lowering conversion rates in critical user journeys. Easing this has been a long standing request for the web from many of the largest global developers. Android has an API that does exactly this. So does iOS and Safari 


دریافت خودکار پیامک کد تایید اعتبارسنجی با WebOTP API
نظرات مطالب
روش آپلود فایل‌ها به همراه اطلاعات یک مدل در برنامه‌های Blazor WASM 5x
سلام و تشکر از شما
 webHostEnvironment . WebRootPath_ در نسخه 6 دات نت نال بر میگرداند 
من از یک Razor Class Library استفاده میکنم که فایهای تصویری در فولدر wwwroot/lib  آن قرار دارد در نسخه 5 دات نت با خط کد زیر مشکلی ندارد و فایلها در web api قابل دسترسی است  ولی در دات نت 6,  PhysicalPath   مقدار نال بر میگرداند آیا به تنظیمات خاصی در  کلاس program نیاز دارد؟
[HttpGet]
[Route("GetImagess")]
public async Task<ActionResult> GetImagess ()
{  
 var rootPath = _webHostEnverioment.WebRootFileProvider.GetDirectoryContents("/_content/CommonComponents").FirstOrDefault(x => x.Name == "lib").PhysicalPath;
....
}

نظرات مطالب
امن سازی برنامه‌های ASP.NET Core توسط IdentityServer 4x - قسمت نهم- مدیریت طول عمر توکن‌ها
«... البته باید درنظر داشت اگر طول عمر این توکن دسترسی را برای مثال به 120 یا 2 دقیقه تنظیم کنید، پس از سپری شدن این 2 دقیقه ... هنوز هم برنامه‌ی کلاینت قادر است به Web API دسترسی داشته باشد. علت آن وجود بازه‌ی 5 دقیقه‌ای است که در طی آن، انجام این عملیات مجاز شمرده می‌شود و برای کلاینت‌هایی درنظر گرفته شده‌است که ساعت سیستم آن‌ها ممکن است اندکی با ساعت سرور IDP تفاوت داشته باشند ...» به این زمان «clock skew» هم گفته می‌شود که با خاصیت JwtValidationClockSkew قابل تنظیم است.
//...
 .AddIdentityServerAuthentication(options =>
        {
            options.JwtValidationClockSkew = TimeSpan.Zero;
نظرات مطالب
رمزنگاری و رمزگشایی خودکار خواص مدل‌ها در ASP.NET Core
- آیا برای رندر یک partial view حتما باید return PartialView نوشت؟ خیر. همان return View هم در اینجا کار می‌کند.
- اگر اصرار به نوشتن return PartialView بود، یک سطر PartialViewResult زیر را اضافه کنید:
namespace EncryptedModelBinder.Utils
{
    public class EncryptedFieldResultFilter : ResultFilterAttribute
    {
        // ...

        public override void OnResultExecuting(ResultExecutingContext context)
        {
            var model = context.Result switch
            {
                PageResult pageResult => pageResult.Model, // For Razor pages
                ViewResult viewResult => viewResult.Model, // For MVC Views
                PartialViewResult partialViewResult => partialViewResult.Model, // For `return PartialView`
                ObjectResult objectResult => objectResult.Value, // For Web API results
                _ => null
            };
نظرات مطالب
امن سازی برنامه‌های ASP.NET Core توسط IdentityServer 4x - قسمت دهم- ذخیره سازی اطلاعات کاربران IDP در بانک اطلاعاتی
- برنامه‌ی این سری را که اجرا کنید (با اجرای فایل dotnet_run_all.bat آن)، برنامه‌ی IDP آن در آدرس https://localhost:6001 قرار دارد و برنامه‌ی MVC آن در آدرس https://localhost:5001 و برنامه‌ی Web API آن در آدرس https://localhost:7001. بنابراین مشکلی با redirect به آدرس‌های مختلف نیست و روش تنظیم آن در قسمت پنجم این سری بررسی شده؛ یا حتی حالت پیشرفته‌تر اعتبارسنجی دو مرحله‌ای آن در قسمت 13 آن بررسی شده و شامل اصلاحاتی در مورد این redirectها هم هست.
- Url.IsLocalUrl مرتبط با اعتبارسنجی دو مرحله‌ای قسمت 13 این سری است که کاربر را جهت وارد کردن کد دریافت شده‌ی برای مثال از طریق ایمیل یا SMS، به یک صفحه‌ی دیگر در همان IDP هدایت می‌کند و پس از اتمام آن، کار هدایت نهایی به برنامه‌ی کلاینت صورت خواهد گرفت.
نظرات مطالب
Asp.Net Identity #2
سلام؛ من با استفاده از .NET Core 2.2 Web Api و angular در حال نوشتن برنامه ای هستم که نیاز به سطح دسترسی برای کاربران میباشد. به اینصورت که در یک شرکت holding هر شرکت زیر مجموعه یک ادمین دارد و چندین کاربر که هر کاربر بنا به موقعیت شغلی نیاز به سطح دسترسی خاصی دارد به عنوان مثال منشی شرکت الف فقط به اطلاعات شرکت الف دسترسی داشته باشد و همینطور منشی شرکت ب به اطلاعات شرکت  ب دسترسی دارد و ... . در چنین موقعیتی بهتره از Identity استفاده کنیم یا jwt?
نظرات مطالب
امن سازی برنامه‌های ASP.NET Core توسط IdentityServer 4x - قسمت دوم - ایجاد ساختار اولیه‌ی مثال این سری
سلام؛ من مشغول انجام یک پروژه هستم که هم بخش موبایل داره (با اندروید استودیو) و هم بخش وب داره (با Asp Core). Web Api هم با Asp Core کار کردم فقط مساله ای که تقریبا ۱۰ روزه ذهنمو درگیر کرده سیستم Authorize هست تمام مقاله‌ها ی شما رو مطالعه کردم الان بین IdentityServer و Jwt وCookie موندم کدوم رو انتخاب کنم ممنون میشم راهنمایی کنید. پروژه تقریبا مثل یک شبکه اجتماعی هستش که هم از طریق اپ موبایل و هم از طریق سایت در دسترسه. این سری مقالات identityServer فوق العاده بود. قبل از مطالعه این سری از مقالات شما داشتم سیستم رو بر اساس Jwt جلو میبردم ولی با مطالعه این مقالات به نظرم سیستم identityServer بهتره لطفا در این مورد نظرتون رو بفرمایید.