"> احراز هویت API ها در ASP.NET Core | آموزش .NET Core | ام اس پی سافت

احراز هویت API ها در ASP.NET Core

API

در این مقاله میخواهیم در مورد احراز هویت API ها صحبت کنیم.بیایید نحوه ی پیاده سازی کد Token Authorization را با استفاده از زمینه ی OWIN درچندین معماری API بیاموزیم.

در عصر جدید، به طور کلی از Web API ها استفاده میکنیم.

این Web API ها مختص منبع و بدون حالت هستند. در نتیجه، باید امنیت را جهت ایمن سازی API ها پیاده سازی کنیم.

در یک سناریوی دنیای واقعی، از یک معماری میکروسرویسی استفاده می کنیم.

بنابراین، بطور کلی میکروسرویس ها را بر اساس دامنه ی مشخص ایجاد می کنیم.

برای مثال  میکروسرویسی به نام Authorization Service داریم. این مورد، نشانه ای برای API بر اساس نام کاربری و رمز عبور ایجاد خواهد کرد.

سرویس محتوا

این سرویس، محتوا را بر اساس کاربر یا فرآیند تصدیق نشان خواهد داد.

من کد تصدیق را در سرویس محتوا که بر روی سروری دیگر استقرار یافته است، نشان می دهم.

NuGet Package های زیر را برای پیاده سازی Owin Security نصب خواهیم کرد.

پکیج ها

Microsoft.owin.cors  
Microsoft.AspNet.Identity.Owin  
Microsoft.Owin.Security.OAuth  
Microsoft.Owin.Security  
Microsoft.Owin.Host.SystemWeb  
Owin  
Microsoft.Owin  

پس از افزودن پکیج، کلاس StartUp را اضافه خواهیم کرد.

این کلاس نقطه ی ورودی درخواست می باشد.

درخواست در StartUp دریافت خواهد شد و سپس Middleware، و پس از آن نمونه ی کنترل کننده ایجاد می شود.

کلاس StartUp

Public class StartUp {  
    Public Static OAuthAutherizationserverOptions oAuth {  
        get;  
        private set;  
    }  
    static startup() {  
        OAuth = new OAuthAutherizationserverOptions {  
            TokenEndPointPath = new PathString("/Token"),  
                Provider = new OAuthProvider(),  
                AccessTokenExpireTimeSpan = Timespan.FromMInutes(20), // Expiration time of the token  
                AllowInsecureHttp = True // for local, On production please do it false  
        }  
    }  
    Public void Configuration(IAppBuilder app) {  
        app.UseOAuthBearerTokens(OAuth); // middleware code to authenticate the Bearer token.  
    }  
}  

کد زیر برای تصدیق زمینه بر اساس bearer token می باشد.

کد کلاس فراهم کننده

Public class X: OAuthAuthorizationServerProvider {  
    public override Task ValidateClientAuth(OAuthValidateClientAuthenticationContext c) {  
        if (context.ClientId == null) {  
            c.Validated();  
        }  
        return Task.FromResult < object > (null);  
    }  
}  

در این مثال، ما token را تولید نمی کنیم.

تنها به اعتبارسنجی نشانه در دیگر API ها می پردازیم.

از نشانه ای یکسان که توسط سرویس Authorization در سروری متفاوت تولید شده، استفاده می کنیم.

باید از کلید ماشین در web.config استفاده کنیم. بنابراین، هر دو سرور می توانند نشست را به اشتراک بگذارند.

  • پسورد: www.mspsoft.com
زهره سلطانیان

نوشته‌های مرتبط

دیدگاه‌ها

*
*

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.