احراز هویت در WebApi

shape
shape
shape
shape
shape
shape
shape
shape

آموزش احراز هویت در وب API

در این مطلب میخواهیم در مورد یکی از مباحث مهم در مورد وب سرویس ها یا apiها است بنام احراز هویت در WebApi یا Authentication صحبت کنیم حالا برای چی این عملیات مهمه؟؟

عملیات احراز هویت در WebApi به چه صورت عمل می کنه؟؟

ما در دوره ساخت Restful WebApi اومدیم نحوه ساخت یک API از صفر تا صد توضیح دادیم و گفتیم که هر کسی با داشتن ادرس API میتونه به راحتی به API متصل بشه و درخواست هاشو به سمت سرور ارسال کنه که این روش اصلا امن نیست.

خب عملیات احراز هویت چیکار میکنه؟ همون طور که تو عکس زیر مشاهده میکنید کاربر برای استفاده از API باید همراه Request که به سمت سرور ارسال می کنه داخل Header درخواستش یک فیلد تحت عنوان APIKey (کلید API) به همراه مقدارش ارسال کنه، سرور قبل از هر کاری میاد این APIKey مورد بررسی قرار میده اگر مقدار APIKey مورد تایید بود اجازه ادامه کار میده و بر اساس درخواستی که کاربر داشته یک Response برمیگردونه (Allowed Response) ولی اگر مقدار APIKey درست نباشه سرور اجازه ادامه مسیر به Request نمیده و اون درخواست بلاک میکنه (Blocked Response) .

چرا عملیات احراز هویت در WebApi مهمه؟

خب ما به دو دلیل این عملیات انجام میدیم:

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

دلیل دوم اعمال یک سری سیاست هاست، مثلا شما یک سرویسی ایجاد کردید و قصد ندارید رایگان در اختیار مشتری هاتون قرار بدین به همین دلیل شما با استفاده از همین مبحث APIKey میتونید یک کلید برای هر کاربر تعیین کنید و زمانی که کاربر اون پول پرداخت کرد میتونه از API شما استفاده کنه. کاری که خیلی از شرکت های بزرگ مثل گوگل هم استفاده میکنه مثلا سرویس گوگل مپ تا یک تعداد درخواست مشخص در ماه رایگانه ولی اگر تعداد درخواست های شما از حد تعیین شده بیشتر بشه گوگل میاد اون APIKey شما رو منقضی میکنه و شما تا زمانی که اون مبلغ مورد نظر پرداخت نکنید نمیتونید از سرویس گوگل مپ استفاده کنید (برای اطلاعات بیشتر در مورد سرویسgoogle map اینجا کلیک کنید)؛ که این سیاست ها برمیگرده به خودتون و هر شخص میتونه با استفاده از این مبحث سیاست های خودشو اعمال کنه.

منبع

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *