فرآیند احراز هویت API، هویت مشتری را که از طریق یک پروتکل احراز هویت تلاش میکند اتصال برقرار کند؛ تأیید میکند. این پروتکل، اعتبارنامهها را از کلاینت راه دور ارسال میکند و درخواست اتصال به سرور دسترسی از راه دور را به صورت متن ساده یا رمزگذاری شده میدهد. در ادامه با جزئیات API Authentication آشنا خواهید شد.
API Authentication چیست؟
پیش از اینکه با جزئیات و ماهیت api احراز هویت آشنا شوید، لازم است با مفهوم ای پی آی آشنا شوید. رابطهای برنامهنویسی برنامه با نام API شناخته میشوند. لینکهایی که به برنامهها اجازه میدهند تا سرویسها و دادهها را مبادله کنند، پیش از انجام این مبادله به احراز هویت نیاز دارند. به صورتی که اگر یک برنامه مشتری سعی کند به برنامه دیگری دسترسی پیدا کند، API هدف میخواهد بداند که آیا کلاینت واقعاً همان کلاینتی است که ادعا میکند؟
اگر نتایج احراز هویت توسط api تایید شده باشد، سرور میداند که آیا میتواند به آن کلاینت دسترسی بدهد یا خیر. این فرآیند دقیقا همان موضوعی است که برای توصیف روند کار ای پی آی احراز هویت در سراسر دنیا مد نظر داریم.
به طور کلی، سیستم api احراز هویت باید این اطمینان را کسب کند که هر کدام از کاربران نهایی به درستی تایید شده اند. همچنین، این سیستم اطمینان کسب میکند که مشتری نماینده کسی نیست که به طور تصادفی سعی کرده باشد به سرویسی دسترسی پیدا کند. (منظور کسی است که حق استفاده از آن را ندارد، یا بدتر از آن، یک مجرم سایبری که سعی در هک کردن سیستم دارد.)
بررسی فرآیند کار کردن api احراز هویت
برای APIهای فقط خواندنی، گاهی اوقات کاربران به کلید نیاز ندارند. اما اکثر APIهای تجاری به مجوز در قالب کلیدهای API یا روشهای دیگر نیازمند هستند. در نظر داشته باشید که اگر هیچ گونه امنیتی در API وجود نداشت، کاربران بدون هیچ گونه ثبت نامی میتوانستند تا به تعداد نامحدودی، دسترسی به API داشته باشند.
متدهای رایج احراز هویت API چیست؟
روشهای متنوعی برای ای پی آی احراز هویت وجود دارد. در این بخش میخواهیم 3 روش رایح برای این نوع از احراز هویت بررسی کنیم:
1 HTTP Basic Authentication
ساده ترین راه برای پیاده سازی احراز هویت api، استفاده از متد HTTP است. در این روش، نام کاربری و رمز عبور در کنار هر تماس api برای شما ارسال میشود.
زمانی که کاربر در روش HTTP Basic، درخواستی را به سمت سرور ارسال مینماید که نیاز به احراز هویت دارد؛ سرور در پاسخ HTTP response 401 را ارسال میکند. در این پاسخ، سرآیندی با نا م WWW-Authenticate بدین صورت مقدار داده میشود:
WWW-Authenticate: Basic
کاربر بعد از پردازش این پاسخ، گذرواژه و نام کاربری را به سمت سرور میفرستد. (این دو اطلاعات به همراه یک Colon (:) از هم جدا میشوند.)
از رایجترین معایب آن میتوانیم به امنیت بسیار پایین آن اشاره کنیم. زیرا بر روی گذرواژه تنها یک base64 encoding انجام شده که حاصل آن برگشت پذیر میباشد. بنابراین، برای انتقال اطلاعات حساسی، این روش از احراز هویت ای پی آی را پیشنهاد نمیکنیم.
2 API Key Authentication
در این روش از روشهای ای پی آی احراز هویت، کلیدهای منحصر به فردی را برای توسعه دهندگان ایجاد میشود و آنها در کنار هر درخواست، فرستاده میشوند. API یک کلید مخفی تولید میکند که یک رشته طولانی و غیرقابل حدس زدن از اعداد و حروف است. این کلید مخفی دارای حداقل 30 کاراکتر طول است. (در صورتی که طول استاندارد مشخصی در این روش وجود ندارد.)
با استفاده از API Key Authentication، معمولاً در کنار هدر، مجوز API ارسال میشود.
3 احراز هویت OAuth
با استفاده از چارچوب مجوز OAuth برای سرویسهای HTTP میتوانید به توسعهدهندگان شخص ثالث دسترسی بدهید. این چارچوب میتواند تأییدیهها را بهطور خودکار بین مالک API و سرویس هماهنگ کند. همچنین شما میتوانید به توسعهدهندگان اجازه دهید تا به تنهایی دسترسی داشته باشند.
OAuth مخفف چیست؟
OAuth یا مجوز باز، یک چارچوب مجوز پذیرفته شده به طور گسترده است که بدون نیاز به فاش کردن رمز عبور به شما امکان میدهد که موافقت کنید یک برنامه از طرف شما با برنامه دیگری تعامل داشته باشد. این فرآیند را با ارائه توکنهای دسترسی به خدمات شخص ثالث بدون افشای اعتبار کاربر انجام میدهد.
سوالات متداول api احراز هویت
در api احراز هویت، فرآیندهایی اجرا میشود که هویت مشتری از طریق یک پروتکل احراز هویت تایید و یا رد میشود.
احراز هویت کلید API تکنیکی است که برای غلبه بر نقاط ضعف اعتبارنامه های مشترک که یک مشکل بزرگ در احراز هویت پایه HTTP بود ابداع شد. کلید API معمولاً یک سری طولانی از اعداد و حروف است که شما یا در هدر درخواست یا URL درخواست قرار می دهید.
احراز هویت OAuth، API Key Authentication و HTTP Basic Authentication جزو متدهای رایج api احراز هویت در سراسر جهان محسوب میشوند.
منبع : فراشناسا
سوالات خود را در قسمت دیدگاه از کارشناسان ما بپرسید.