این مقاله راهنمای گام به گام برای ادغام احراز هویت Keycloak در یک فرانتاند Blazor WebAssembly (WASM) و یک بکاند .NET Web API ارائه میدهد.
راهاندازی Keycloak
- Keycloak را با استفاده از Docker نصب کنید.
- یک ریلم جدید به نام "BlazorWebApiRealm" ایجاد کنید.
- دو کلاینت ثبت کنید:
- "web-api" برای بکاند Web API (برنامه سرور).
- "blazor-client" برای فرانتاند Blazor WASM (کلاینت عمومی).
- یک محدوده کلاینت ایجاد کنید تا اطمینان حاصل شود که مخاطب صحیح ("web-api") در توکن دسترسی گنجانده شده است.
- یک کاربر برای آزمایش ایجاد کنید.
پیکربندی Web API
- بسته
Microsoft.AspNetCore.Authentication.JwtBearer را نصب کنید. - میانافزار احراز هویت و مجوز را در
Program.cs اضافه کنید. - احراز هویت JWT Bearer را با جزئیات ریلم Keycloak، مخاطب و پارامترهای اعتبار سنجی توکن پیکربندی کنید.
پیکربندی Blazor WASM
- اطمینان حاصل کنید که بسته
Microsoft.AspNetCore.Components.WebAssembly.Authentication نصب شده است. Program.cs را برای پیکربندی احراز هویت OIDC با جزئیات Keycloak تغییر دهید و محدوده لازم را درخواست کنید.- یک کلاینت HTTP را با
AuthorizationMessageHandler پیکربندی کنید تا توکنهای دسترسی را در درخواستهای API قرار دهد. - صفحه
/weather را با ویژگی [Authorize] محافظت کنید.
آزمایش و مجوز
- هر دو برنامه را اجرا کنید و فرآیند ورود را آزمایش کنید.
- با افزودن ویژگی
[Authorize] به کنترلر، نقطه پایانی Web API را مجاز کنید. - توکن دسترسی را برای بررسی صادرکننده، مخاطب و سایر ادعاها بررسی کنید.
با پیروی از این مراحل، میتوانید برنامههای Blazor WASM و .NET Web API خود را با استفاده از Keycloak ایمن کنید و اطمینان حاصل کنید که فقط کاربران احراز هویت شده میتوانند به منابع محافظت شده دسترسی داشته باشند.
مشاهده مطلب اصلی