رادکام
ما سرویس توکن خودمان را پیکربندی کرده ایم و حال نحوه اضافه کردن تایید هویت مبتنی بر Identity Server را به برنامه MVC Client بررسی خواهیم کرد. برای شروع ما تغییراتی در Solution خودمان ایجاد کرده، و یک پروژه MVC جدید به نام Web Client به آن اضافه کرده ایم. این پروژه شامل فایل های وب سایت Roux Academy است که با آن کار خواهیم داشت. در این پروژه ما کلیه کد های مربوط به Asp.Net Core Identity را از کلاس startup، پوشه Views، پوشه Models و Controller ها حذف کرده ایم. از آنجا که پروتوکل Open Id Connect مورد استفاده قرار خواهد گرفت، ما نیاز داریم تا یک سری بسته های مورد نیاز را از طریق Nuget Package Manager نصب نماییم. فایل های مربوط به پروژه Web Client را می توانیم از بخش فایل های مربوط به مقاله دریافت نمایید.
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationScheme = "Cookies"
});
app.UseOpenIdConnectAuthentication(new OpenIdConnectOptions
{
AuthenticationScheme = "oidc",
SignInScheme = "Cookies",
Authority = "http://localhost:5000",
RequireHttpsMetadata = false,
ClientId = "RouxAcademyMVC",
SaveTokens = true
});
توجه داشته باشید که قبل از فراخوانی میان افزار MVC، هر دو میان افزار
مورد نظر خود را به پیکربندی پروژه اضافه کرده ایم. برای اطمینان از اینکه
توکن Identity claim های استاندارد مورد نیاز ما را داراست که آنها را قرار
هست در صفحه اصلی دانش آموز نمایش دهیم، به سراغ پوشه Views رفته و در زیر
پوشه student، صفحه index را باز می کنیم. عبارت student داخل تگ h2 را با
شناسه کاربری که به سیستم لاگین کرده جایگزین می کنیم. برای دستیابی به این
اطلاعات می توانیم از مجموعه claim های شیء user بهره ببریم. در مجموعه
claim ها باید به دنبال claim ای باشیم که جنس آن از نوع نام می باشد و سپس
به مقدار این claim دسترسی پیدا می کنیم.<h2>Welcome @User.Claims.FirstOrDefault(x => x.Type == "name").Value!</h2>
کار بعدی که انجام می دهیم این است که مجموعه claim های موجود را در صفحه
اصلی کاربر نمایش دهیم. برای این کار باید درون مجموعه claim های داخل
شیء user
بچرخیم و سپس نوع claim و به دنبال آن مقدار claim را نمایش دهیم.<dl>
@foreach (var claim in User.Claims)
{
<dt>@claim.Type</dt>
<dd>@claim.Value</dd>
}
</dl>
2,307بازدید
دیدگاه کاربران
هنوز دیدگاهی ثبت نشده است.
شما میتوانید درباره این مقاله، دیدگاه خود را ثبت کنید.