تأیید هویت کاربر با IdentityServer
در اینجا ما تایید هویت متمرکز را به سرویس توکن خود اضافه خواهیم کرد.
برای کاربران نهایی برنامه های سرویس گیرنده ها و مشتریان، برای ورود به
سیستم و خروج از آن نیاز به رابط کاربری داریم که این کاربران به سمت این
صفحات هدایت شوند. ما می توانیم این را به سرعت با استفاده از نمونه های
موجود IdentityServer در مخزن برنامه های GitHub تنظیم کنیم. از لینک زیر
می توانید برای این کار استفاده کنید:
https://github.com/IdentityServer/IdentityServer4.Quickstart.UI
همچنین این امکان رو دارید که صفحات دلخواه خود را بسازید. کد نمونه ای که
در اینجا استفاده شده است مبتنی بر MVC است، بنابراین ما باید برخی از بسته
های Nuget را به پروژه سرویس توکن خود اضافه کنیم. به سراغ Visual Studio
می رویم و طبق روالی که می دانید روی پروژه کلیک راست می کنیم و سپس روی
Manage Nuget Packages کلید می کنیم. در پنجره باز شده و در تب Browse،
بسته Microsoft.AspNetCore.Mvc را جستجو می کنیم. آن را در پروژه سرویس
توکن نصب می کنیم.
در مرحله بعد باید به همین روش بسته فایل های استاتیک
(Microsoft.AspNetCore.StaticFiles) نسخه 2.2.0 را نصب نماییم. حال که تمام بسته های
مورد نیاز ما نصب شده است، می توانیم وابستگی های(dependencies) لازم را
ایجاد کنیم.
کلاس startup.cs را باز کنید و به سراغ متد ConfigureServices بروید. در
اینجا ما می توانیم با فراخوانی متد لازم MVC را به پروژه خود اضافه کنیم.
services.AddMvc();
و سپس در متد Configure، می توانیم فراخوانی های لازم دیگری را برای اضافه
کردن فایل های استاتیک و همچنین مسیر یابی پیشفرض MVC به پروژه، انجام
دهیم.
app.UseStaticFiles();
app.UseMvcWithDefaultRoute();
اکنون ما آماده هستیم تا فایل های نمونه IdentityServer را دانلود نماییم.
سریع ترین روش برای انجام این کار استفاده از پنجره دستورات PowerShell
است.
Windows PowerShell را اجرا کنید تا پنجره مربوطه باز شود. و سپس
باید به پوشه ای که پروژه سرویس توکن شما در آن وجود دارد بروید. اگر در
مسیر رجوع به پوشه پروژه شما space وجود دارد باید مسیر مربوطه را داخل ""
قرار دهید.
سپس ما باید برای بارگیری فایل های مربوطه از GitHub دستور زیر را در
PowerShell کپی و پیست کرده و اجرا کنیم.
iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/IdentityServer/IdentityServer4.Quickstart.UI/master/getmaster.ps1'))
متن این دستور را از صفحه زیر نیز می توانید بردارید:
https://github.com/IdentityServer/IdentityServer4.Quickstart.UI
حال به سراغ Visual Studio می رویم و مطمئن باشیم که Visual Studio کلیه
فایل های داخل فولدر پروژه را نشان می دهد و سپس فولدر ها و فایل های
مربوطه را در صورتی که به پروژه اضافه نشده بودند، به پروژه اضافه می کنیم
(Include می کنیم). این فولدر ها عبارتند از: Views، Quickstart و wwwroot
فولدر wwwroot شامل
یک سری فایل های CSS و JavaScript است و همچنین می توانید یک پوشه جدید به
نام Quickstart با Model ها و Controller های مربوطه پیدا کنید. در
نهایت پوشه View را می بینید که به پروژه اضافه شده است. لازم است تا نگاهی
به کد های داخل QuickStart و سایر پوشه ها بیاندازیم و کد های داخل آنها را
برای آشنایی بیشتر بررسی کنیم.
منبع:
Lynda.com - ASP.NET.Core.Security
تأیید هویت کاربر با IdentityServer