در این دوره آموزشی یاد خواهید گرفت که چگونه برنامههای وب و APIهای ASP.NET Core 6 خود را با استانداردهای واقعی امروزی: OAuth2 و OpenID Connect ایمن کنید.
آنچه یاد خواهید گرفت:
شما یک برنامه وب، یک API یا هر دو را با ASP.NET Core 6 ساختهاید، اما به نظر میرسد چیزی کم است: تقریباً همه برنامهها این روزها باید ایمن شوند.
نمونه ویدیوی آموزشی ( زیرنویسها جدا از ویدیو است و میتوانید آنرا نمایش ندهید ) :
[ENGLISH]
01 Course Overview [2mins]
01-01 Course Overview [2mins]
02 Getting Started with ASP.NET Core Security [36mins]
02-01 Coming Up [3mins]
02-02 Positioning This Course [2mins]
02-03 Course Prerequisites [1mins]
02-04 Frameworks and Tooling [2mins]
02-05 Application Architectures and Security [10mins]
02-06 Working Towards a Central Identity Provider [6mins]
02-07 Introducing OAuth2 [3mins]
02-08 Introducing OpenID Connect [2mins]
02-09 Demo - Introducing the Demo Application [6mins]
02-10 Summary [1mins]
03 Understanding Authentication with OpenID Connect [44mins]
03-01 Coming Up [1mins]
03-02 Learning How OpenID Connect Works [3mins]
03-03 Confidential and Public Clients [3mins]
03-04 OpenID Connect Flows and Endpoints [12mins]
03-05 Introducing Duende IdentityServer [3mins]
03-06 Demo - Setting Up IdentityServer [11mins]
03-07 Demo - Adding a User Interface [3mins]
03-08 Demo - Adding Users to Test With [5mins]
03-09 Summary [3mins]
04 Securing Your User Authentication Processes [57mins]
04-01 Coming Up [1mins]
04-02 The Authorization Code Flow [9mins]
04-03 Demo - Configuring IdentityServer to Log in with The Authorization Code Flow [3mins]
04-04 Demo - Logging in with the Authorization Code Flow [18mins]
04-05 Authorization Code Injection Attack [2mins]
04-06 The Authorization Code Flow with PKCE Protection [2mins]
04-07 Demo - Logging out of Our Web Application [5mins]
04-08 Logging out of the Identity Provider [2mins]
04-09 Demo - Redirecting After Logging out [4mins]
04-10 The UserInfo Endpoint [4mins]
04-11 Demo - Returning Additional Claims From the UserInfo Endpoint [2mins]
04-12 Inspecting an Identity Token [3mins]
04-13 Summary [2mins]
05 Working with Claims in Your Web Application [24mins]
05-01 Coming Up [1mins]
05-02 Demo - Claims Transformation- Keeping the Original Claim Types [2mins]
05-03 Demo - Claims Transformation- Manipulating the Claims Collection [4mins]
05-04 Role-based Access Control [2mins]
05-05 Demo - Role-based Authorization- Ensuring the Role Is Included [6mins]
05-06 Demo - Role-based Authorization- Using the Role in Your Views [3mins]
05-07 Demo - Role-based Authorization- Using the Role in Your Controllers [2mins]
05-08 Demo - Creating an Access Denied Page [3mins]
05-09 Summary [1mins]
06 Understanding Authorization with OAuth2 and OpenID Connect [12mins]
06-01 Coming Up [1mins]
06-02 Learning How OAuth2 Works [3mins]
06-03 Using OpenID Connect for Authentication and Authorization [2mins]
06-04 OAuth2 and OpenID Connect Flows [3mins]
06-05 Inspecting an Access Token [2mins]
06-06 Summary [1mins]
07 Securing Your API [36mins]
07-01 Coming Up [1mins]
07-02 The Authorization Code Flow with PKCE Protection [3mins]
07-03 Demo - Securing Access to Your API (Part 1) [2mins]
07-04 API Scopes vs. API Resources [4mins]
07-05 Demo - Securing Access to Your API (Part 2) [7mins]
07-06 Demo - Passing an Access Token to Your API [6mins]
07-07 Demo - Using Access Token Claims When Getting Resources [5mins]
07-08 Including Identity Claims in an Access Token [1mins]
07-09 Demo - Including Identity Claims in an Access Token [1mins]
07-10 Demo - Protecting the API When Creating a Resource (with Roles) [4mins]
07-11 Summary [2mins]
08 Authorization Policies and Access Control [38mins]
08-01 Coming Up [1mins]
08-02 Role-based Access Control vs. Attribute-based Access Control [3mins]
08-03 Demo - Creating an Authorization Policy [7mins]
08-04 Demo - Using an Authorization Policy (Web Client) [3mins]
08-05 Demo - Using an Authorization Policy (API) [4mins]
08-06 Fine-grained Policies with Scopes [1mins]
08-07 Demo - Fine-grained Policies with Scopes [6mins]
08-08 Extending Authorization Policies with Requirements and Handlers [3mins]
08-09 Demo - Creating Custom Requirements and Handlers [9mins]
08-10 Summary [1mins]
09 Dealing with Token Expiration, Reference Tokens,and Token Revocation [36mins]
09-01 Coming Up [1mins]
09-02 Token Lifetimes and Expiration [2mins]
09-03 Demo - Token Lifetimes and Expiration [3mins]
09-04 Gaining Long-Lived Access with Refresh Tokens [3mins]
09-05 Demo - Gaining Long-lived Access [5mins]
09-06 Working with Reference Tokens [2mins]
09-07 Demo - Working with Reference Tokens [5mins]
09-08 Token Revocation [1mins]
09-09 Demo - Revoking Tokens [6mins]
09-10 Token Validation [6mins]
09-11 Summary [2mins]
10 Storing Users and Credentials in a Local Database [43mins]
10-01 Coming Up [1mins]
10-02 How Credentials Fit in OpenID Connect [2mins]
10-03 Means of Authentication and Approaches [5mins]
10-04 Implementation Approaches- Custom, ASP.NET Core Identity and the Microsoft Identity Framework [6mins]
10-05 Inspecting the User Database Schema [2mins]
10-06 Demo - Creating a User Database [6mins]
10-07 Interacting with IdentityServer [1mins]
10-08 Demo - Inspecting UI Interaction with IdentityServer [7mins]
10-09 Demo - Inspecting the User Service [1mins]
10-10 Demo - Integrating IdentityServer with a Custom User Database [4mins]
10-11 Building Your Identity with a Profile Service [2mins]
10-12 Demo - Building Your Identity with a Profile Service [4mins]
10-13 Summary [2mins]
11 Best Practices for User Management [51mins]
11-01 Coming Up [1mins]
11-02 Where Should User Management Screens Live [3mins]
11-03 Demo - Implementing a User Registration Screen [13mins]
11-04 Safely Storing Passwords [8mins]
11-05 Demo - Safely Storing Passwords [5mins]
11-06 Activating an Account [2mins]
11-07 Demo - Activating an Account [12mins]
11-08 Additional User Management Related Best Practices [4mins]
11-09 Password Policy Best Practices [2mins]
11-10 Summary [1mins]
12 Integrating with Active Directory, Azure Active Directory, and Social Logins [63mins]
12-01 Coming Up [1mins]
12-02 Handling Integration with Third-party Providers [4mins]
12-03 Use Cases for Windows Authentication [1mins]
12-04 Windows Authentication Beneath the Covers [3mins]
12-05 Demo - Enabling Windows Authentication on IIS Express [4mins]
12-06 Demo - Integrating Windows Authentication with IdentityServer [10mins]
12-07 Federation with Third-party Identity Providers [4mins]
12-08 Demo - Inspecting Support for Federating with a Third-party Identity Provider [6mins]
12-09 Integrating with Azure AD [2mins]
12-10 Demo - Registering an Application on Azure AD [6mins]
12-11 Demo - Integrating with Azure AD [6mins]
12-12 Demo - Registering an Application on Facebook [4mins]
12-13 Demo - Integrating with Facebook [4mins]
12-14 Challenges When Integrating with Third-party Identity Providers [3mins]
12-15 Integrating with Other Third-party Identity Providers [2mins]
12-16 Summary [3mins]
13 User Provisioning, Federation, and Federated Identity [34mins]
13-01 Coming Up [1mins]
13-02 Integrating Local Users with External Users [2mins]
13-03 Federated Authentication and Federated Identity [4mins]
13-04 Demo - Enhancing the Database Schema for Federated Identity [3mins]
13-05 Demo - Provisioning a New User with a Federated Identity (Part 1) [7mins]
13-06 Transforming Claims [1mins]
13-07 Demo - Provisioning a New User with a Federated Identity (Part 2) [3mins]
13-08 Provisioning a New User with a Federated Identity – Flow Variations [2mins]
13-09 Demo - Linking a Provider to an Existing User [7mins]
13-10 Additional Federated Identity Use Cases [2mins]
13-11 Summary [2mins]
14 Supporting Multi-factor Authentication [35mins]
14-01 Coming Up [1mins]
14-02 Introducing Multi-factor Authentication [3mins]
14-03 Supporting MFA with a One-Time Password Through Email [2mins]
14-04 Supporting MFA with an Authenticator Application [5mins]
14-05 Demo - Supporting MFA with an Authenticator Application (Enhancing the Database Schema) [2mins]
14-06 Supporting MFA with an Authenticator Application (Registration) [13mins]
14-07 Supporting MFA with an Authenticator Application - Authentication [3mins]
14-08 Demo - Supporting MFA with an Authenticator Application (Authentication) [4mins]
14-09 Summary [2mins]
15 Integrating with ASP.NET Core Identity [19mins]
15-01 Coming Up [0mins]
15-02 Integrating with ASP.NET Core Identity [2mins]
15-03 Demo - Adding ASP.NET Core Identity [17mins]
15-04 Summary [0mins]
16 Getting Ready for Production and Deploying Your Identity Provider [61mins]
16-01 Coming Up [1mins]
16-02 Deploying IdentityServer to Azure [8mins]
16-03 Demo - Persisting Configuration Data [10mins]
16-04 Demo - Persisting Operational Data [3mins]
16-05 Demo - Moving From SQLite to SQL Azure [6mins]
16-06 Demo - Configuring Data Protection [10mins]
16-07 Demo - Storing Key Material in Azure KeyVault [7mins]
16-08 Demo - Configuring and Using the Forwarded Headers Middleware [3mins]
16-09 Demo - Applying a License [2mins]
16-10 Demo - The Final Deployment [8mins]
16-11 Summary [3mins]
[فارسی]
01 بررسی اجمالی دوره [2 دقیقه]
01-01 بررسی اجمالی دوره [2 دقیقه]
02 شروع به کار با ASP.NET Core Security [36 دقیقه]
02-01 در راه است [3 دقیقه]
02-02 تعیین موقعیت این دوره [2 دقیقه]
02-03 پیش نیازهای دوره [1 دقیقه]
02-04 چارچوب و ابزار [2 دقیقه]
02-05 معماری و امنیت برنامه [10 دقیقه]
02-06 کار به سمت یک ارائه دهنده هویت مرکزی [6 دقیقه]
02-07 معرفی OAuth2 [3 دقیقه]
02-08 معرفی OpenID Connect [2 دقیقه]
02-09 نسخهی نمایشی - معرفی برنامه آزمایشی [6 دقیقه]
02-10 خلاصه [1 دقیقه]
03 درک احراز هویت با OpenID Connect [44 دقیقه]
03-01 در راه است [1 دقیقه]
03-02 آموزش نحوه عملکرد OpenID Connect [3 دقیقه]
03-03 مشتریان محرمانه و عمومی [3 دقیقه]
03-04 جریانها و نقاط پایانی اتصال OpenID [12 دقیقه]
03-05 معرفی Duende IdentityServer [3 دقیقه]
03-06 نسخهی نمایشی - راه اندازی IdentityServer [11 دقیقه]
03-07 نسخهی نمایشی - افزودن یک رابط کاربری [3 دقیقه]
03-08 نسخهی نمایشی - افزودن کاربران به آزمایش با [5 دقیقه]
03-09 خلاصه [3 دقیقه]
04 ایمنسازی فرآیندهای احراز هویت کاربر [57 دقیقه]
04-01 در راه است [1 دقیقه]
04-02 جریان کد مجوز [9 دقیقه]
04-03 نسخهی نمایشی - پیکربندی IdentityServer برای ورود به سیستم با جریان کد مجوز [3 دقیقه]
04-04 نسخهی نمایشی - ورود به سیستم با جریان کد مجوز [18 دقیقه]
04-05 حمله تزریق کد مجوز [2 دقیقه]
04-06 جریان کد مجوز با محافظت PKCE [2 دقیقه]
04-07 نسخهی نمایشی - خروج از برنامه وب ما [5 دقیقه]
04-08 خروج از Identity Provider [2 دقیقه]
04-09 نسخهی نمایشی - تغییر مسیر پس از خروج از سیستم [4 دقیقه]
04-10 نقطه پایانی اطلاعات کاربر [4 دقیقه]
04-11 نسخهی نمایشی - بازگرداندن ادعاهای اضافی از نقطه پایانی اطلاعات کاربر [2 دقیقه]
04-12 بازرسی یک نشانه هویت [3 دقیقه]
04-13 خلاصه [2 دقیقه]
05 کار با ادعاها در برنامه وب شما [24 دقیقه]
05-01 در راه است [1 دقیقه]
05-02 نسخهی نمایشی - تبدیل ادعاها- حفظ انواع ادعاهای اصلی [2 دقیقه]
05-03 نسخهی نمایشی - تغییر شکل ادعاها- دستکاری مجموعه ادعاها [4 دقیقه]
05-04 کنترل دسترسی مبتنی بر نقش [2 دقیقه]
05-05 نسخه آزمایشی - مجوز مبتنی بر نقش- اطمینان از گنجاندن نقش [6 دقیقه]
05-06 نسخه آزمایشی - مجوز مبتنی بر نقش- استفاده از نقش در نماهای شما [3 دقیقه]
05-07 نسخهی نمایشی - مجوز مبتنی بر نقش- استفاده از نقش در کنترلرهای شما [2 دقیقه]
05-08 نسخهی نمایشی - ایجاد صفحه دسترسی ممنوع [3 دقیقه]
05-09 خلاصه [1 دقیقه]
06 درک مجوز با OAuth2 و OpenID Connect [12 دقیقه]
06-01 در راه است [1 دقیقه]
06-02 آموزش نحوه کار OAuth2 [3 دقیقه]
06-03 استفاده از OpenID Connect برای احراز هویت و مجوز [2 دقیقه]
06-04 جریانهای اتصال OAuth2 و OpenID [3 دقیقه]
06-05 بازرسی یک نشانه دسترسی [2 دقیقه]
06-06 خلاصه [1 دقیقه]
07 ایمن کردن API شما [36 دقیقه]
07-01 در راه است [1 دقیقه]
07-02 جریان کد مجوز با محافظت PKCE [3 دقیقه]
07-03 نسخهی نمایشی - ایمن کردن دسترسی به API شما (قسمت 1) [2 دقیقه]
07-04 محدودههای API در مقابل منابع API [4 دقیقه]
07-05 نسخهی نمایشی - ایمن کردن دسترسی به API شما (قسمت 2) [7 دقیقه]
07-06 نسخهی نمایشی - ارسال رمز دسترسی به API شما [6 دقیقه]
07-07 نسخهی نمایشی - استفاده از ادعاهای رمز دسترسی هنگام دریافت منابع [5 دقیقه]
07-08 از جمله ادعاهای هویت در یک نشانه دسترسی [1 دقیقه]
07-09 نسخهی نمایشی - از جمله ادعاهای هویت در یک نشانه دسترسی [1 دقیقه]
07-10 نسخهی نمایشی - محافظت از API هنگام ایجاد یک منبع (با نقش) [4 دقیقه]
07-11 خلاصه [2 دقیقه]
08 سیاستهای مجوز و کنترل دسترسی [38 دقیقه]
08-01 در راه است [1 دقیقه]
08-02 کنترل دسترسی مبتنی بر نقش در مقابل کنترل دسترسی مبتنی بر ویژگی [3 دقیقه]
08-03 نسخهی نمایشی - ایجاد یک خط مشی مجوز [7 دقیقه]
08-04 نسخهی نمایشی - استفاده از یک خط مشی مجوز (کلینت وب) [3 دقیقه]
08-05 نسخهی نمایشی - استفاده از یک خط مشی مجوز (API) [4 دقیقه]
08-06 خطمشیهای دقیق با محدوده [1 دقیقه]
08-07 نسخهی نمایشی - خط مشیهای دقیق با محدوده [6 دقیقه]
08-08 گسترش خطمشیهای مجوز با نیازمندیها و کنترلکنندهها [3 دقیقه]
08-09 نسخهی نمایشی - ایجاد نیازهای سفارشی و کنترلرها [9 دقیقه]
08-10 خلاصه [1 دقیقه]
09 مقابله با انقضای توکن، نشانههای مرجع و لغو توکن [36 دقیقه]
09-01 در راه است [1 دقیقه]
09-02 طول عمر توکن و انقضا [2 دقیقه]
09-03 نسخه نمایشی - طول عمر و انقضای رمز [3 دقیقه]
09-04 دسترسی طولانی مدت با توکنهای Refresh [3 دقیقه]
09-05 نسخهی نمایشی - دسترسی طولانی مدت [5 دقیقه]
09-06 کار با نشانههای مرجع [2 دقیقه]
09-07 نسخهی نمایشی - کار با نشانههای مرجع [5 دقیقه]
09-08 لغو رمز [1 دقیقه]
09-09 نسخهی نمایشی - ابطال نشانهها [6 دقیقه]
09-10 اعتبارسنجی رمز [6 دقیقه]
09-11 خلاصه [2 دقیقه]
10 ذخیره کاربران و اعتبارنامهها در یک پایگاه داده محلی [43 دقیقه]
10-01 در راه است [1 دقیقه]
10-02 نحوه قرار گرفتن اعتبارنامهها در OpenID Connect [2 دقیقه]
10-03 ابزار احراز هویت و رویکردها [5 دقیقه]
10-04 رویکردهای پیاده سازی- سفارشی، ASP.NET Core Identity و Microsoft Identity Framework [6 دقیقه]
10-05 بررسی طرحواره پایگاه داده کاربر [2 دقیقه]
10-06 نسخهی نمایشی - ایجاد یک پایگاه داده کاربر [6 دقیقه]
10-07 تعامل با IdentityServer [1 دقیقه]
10-08 نسخهی نمایشی - بررسی تعامل رابط کاربری با IdentityServer [7 دقیقه]
10-09 نسخهی نمایشی - بازرسی سرویس کاربر [1 دقیقه]
10-10 نسخهی نمایشی - یکپارچهسازی IdentityServer با یک پایگاه داده کاربر سفارشی [4 دقیقه]
10-11 هویت خود را با یک سرویس نمایه بسازید [2 دقیقه]
10-12 نسخهی نمایشی - ساختن هویت خود با یک سرویس نمایه [4 دقیقه]
10-13 خلاصه [2 دقیقه]
11 بهترین روشها برای مدیریت کاربر [51 دقیقه]
11-01 در راه است [1 دقیقه]
11-02 صفحههای مدیریت کاربر کجا باید زندگی کنند؟ [3 دقیقه]
11-03 نسخهی نمایشی - پیادهسازی یک صفحه ثبت نام کاربر [13 دقیقه]
11-04 ذخیره ایمن رمزهای عبور [8 دقیقه]
11-05 نسخهی نمایشی - ذخیره ایمن گذرواژهها [5 دقیقه]
11-06 فعال کردن یک حساب [2 دقیقه]
11-07 نسخهی نمایشی - فعال کردن یک حساب [12 دقیقه]
11-08 بهترین روشهای مرتبط با مدیریت کاربر اضافی [4 دقیقه]
11-09 بهترین روشهای خط مشی رمز عبور [2 دقیقه]
11-10 خلاصه [1 دقیقه]
12 ادغام با Active Directory، Azure Active Directory و Social Login [63 دقیقه]
12-01 در راه است [1 دقیقه]
12-02 مدیریت یکپارچهسازی با ارائه دهندگان شخص ثالث [4 دقیقه]
12-03 استفاده از موارد برای احراز هویت ویندوز [1 دقیقه]
12-04 احراز هویت ویندوز زیر جلدها [3 دقیقه]
12-05 نسخهی نمایشی - فعال کردن احراز هویت ویندوز در IIS Express [4 دقیقه]
12-06 نسخهی نمایشی - یکپارچهسازی احراز هویت ویندوز با IdentityServer [10 دقیقه]
12-07 فدراسیون با ارائه دهندگان هویت شخص ثالث [4 دقیقه]
12-08 نسخهی نمایشی - بازرسی پشتیبانی برای فدرال شدن با ارائه دهنده هویت شخص ثالث [6 دقیقه]
12-09 ادغام با Azure AD [2 دقیقه]
12-10 نسخهی نمایشی - ثبت برنامه در Azure AD [6 دقیقه]
12-11 نسخهی نمایشی - ادغام با Azure AD [6 دقیقه]
12-12 نسخهی نمایشی - ثبت برنامه در فیس بوک [4 دقیقه]
12-13 نسخهی نمایشی - ادغام با فیس بوک [4 دقیقه]
12-14 چالشهای ادغام با ارائهدهندگان هویت شخص ثالث [3 دقیقه]
12-15 ادغام با سایر ارائه دهندگان هویت شخص ثالث [2 دقیقه]
12-16 خلاصه [3 دقیقه]
13 تامین کاربر، فدراسیون و هویت فدرال [34 دقیقه]
13-01 در راه است [1 دقیقه]
13-02 ادغام کاربران محلی با کاربران خارجی [2 دقیقه]
13-03 احراز هویت فدرال و هویت فدرال [4 دقیقه]
13-04 نسخهی نمایشی - بهبود طرح پایگاه داده برای هویت فدرال [3 دقیقه]
13-05 نسخهی نمایشی - ارائه یک کاربر جدید با هویت فدرال (قسمت 1) [7 دقیقه]
13-06 تغییر ادعاها [1 دقیقه]
13-07 نسخهی نمایشی - ارائه یک کاربر جدید با هویت فدرال (قسمت 2) [3 دقیقه]
13-08 ارائه یک کاربر جدید با هویت فدرال - تغییرات جریان [2 دقیقه]
13-09 نسخهی نمایشی - پیوند دادن یک ارائه دهنده به یک کاربر موجود [7 دقیقه]
13-10 موارد استفاده دیگر از هویت فدرال [2 دقیقه]
13-11 خلاصه [2 دقیقه]
14 پشتیبانی از احراز هویت چند عاملی [35 دقیقه]
14-01 در راه است [1 دقیقه]
14-02 معرفی احراز هویت چند عاملی [3 دقیقه]
14-03 پشتیبانی از وزارت امور خارجه با یک رمز عبور یکبار مصرف از طریق ایمیل [2 دقیقه]
14-04 پشتیبانی از MFA با یک برنامه Authenticator [5 دقیقه]
14-05 نسخهی نمایشی - پشتیبانی از MFA با یک برنامه Authenticator (افزایش طرحواره پایگاه داده) [2 دقیقه]
14-06 پشتیبانی از MFA با یک برنامه Authenticator (ثبت نام) [13 دقیقه]
14-07 پشتیبانی از MFA با یک برنامه Authenticator - احراز هویت [3 دقیقه]
14-08 نسخهی نمایشی - پشتیبانی از MFA با یک برنامه Authenticator (Authentication) [4 دقیقه]
14-09 خلاصه [2 دقیقه]
15 ادغام با ASP.NET Core Identity [19 دقیقه]
15-01 در راه است [0 دقیقه]
15-02 ادغام با ASP.NET Core Identity [2 دقیقه]
15-03 نسخهی نمایشی - افزودن ASP.NET Core Identity [17 دقیقه]
15-04 خلاصه [0 دقیقه]
16 آماده شدن برای تولید و استقرار ارائه دهنده هویت شما [61 دقیقه]
16-01 در راه است [1 دقیقه]
16-02 استقرار IdentityServer در Azure [8 دقیقه]
16-03 نسخهی نمایشی - دادههای پیکربندی پایدار [10 دقیقه]
16-04 نسخهی نمایشی - دادههای عملیاتی پایدار [3 دقیقه]
16-05 نسخهی نمایشی - انتقال از SQLite به SQL Azure [6 دقیقه]
16-06 نسخهی نمایشی - پیکربندی حفاظت از داده [10 دقیقه]
16-07 نسخهی نمایشی - ذخیره مواد کلیدی در Azure KeyVault [7 دقیقه]
16-08 نسخهی نمایشی - پیکربندی و استفاده از میانافزار هدرهای بازارسال [3 دقیقه]
16-09 نسخهی نمایشی - اعمال مجوز [2 دقیقه]
16-10 نسخهی نمایشی - استقرار نهایی [8 دقیقه]
16-11 خلاصه [3 دقیقه]
کوین داکس یک معمار راه حل آزاد، نویسنده و مشاور است که در آنتورپ (بلژیک) زندگی میکند. او عمدتاً بر روی معماری راهحل/برنامهها و امنیت برای برنامههای مبتنی بر وب (API) که با داتنت ساخته شدهاند، متمرکز است، اما او همچنین چشمانداز پیشرفتهای جدید مربوط به محصولات دیگر از پشته داتنت است. او MVP مایکروسافت و عضو هیئت مدیره انجمن RD MS است. او همچنین یک سخنران منظم در کنفرانسهای مختلف (بینالمللی) ملی و رویدادهای گروه کاربر است و روی پروژههای متن باز مختلف مانند Microsoft.AspNet.JsonPatch و Marvin.Cache.Headers کار میکند. کوین دوست دارد به جاهایی که قبلا ندیده سفر کند و در جمع چند دوست خوب از یک لیوان شراب خوب لذت میبرد.