در ادامه ی دوره ی OAuth و Laravel Passport به بخش لاراول پاسپورت رسیدیم. در این بخش سعی داریم، پکیج معروف لاراول را آموزش دهیم که قابلیت راه اندازی خیلی راحت یک سرور OAuth را دارد.
فریمورک لاراول، احراز هویت را از طریق فرمهای سنتی ورود به سیستم و با استفاده از Authentication، به راحتی انجام میدهد اما برای API ها کمی تفاوت دارد. API ها معمولا از Token ها برای تایید اعتبار کاربران استفاده میکنند و وضعیت session را بین درخواستها حفظ نمیکنند. لاراول، احراز هویت API را با استفاده از Laravel Passport فراهم میکند که اجرای کامل سرور OAuth 2.0 را برای برنامهها، در عرض چند دقیقه فراهم کرده است.
همانطور که در بخش OAuth Grants در فصل های گذشته انواع روش های گرفتن مجوز در OAuth2.0 را معرفی کردیم، در این بخش میخواهیم معادل آنها را در Laravel Passport معرفی کنیم و بگوییم چگونهاین پکیج توانسته است هر روش را برای خود پشتیبانی کند.
احتمالا اگر لاراول کار باشید این بخش برای شما بسیار جذاب خواهد بود ولی ما این بخش را با مثالی ساده و کاربردی پیش میبریم که حتی اگر در لاراول پیشرفته نیستید بتوانید از آن استفاده کنید. برای این کار یک پروژه ی ساده و کوچک لاراول را از قبل آماده کردهایم و شما کافی است آن را دانلود کرده و راه اندازی کنید. این پروژه یک برنامهی ToDo میباشد که در حال حاضر از authentication لاراول استفاده میکند و کاربر بعد از ثبتنام صفحهای را دارد که میتواند یک تَسک اضافه کند، وضعیت انجام شدن آن را مشخص کند و یا آن را حذف کند.
در ادامه ی دوره یک سرور OAuth را راه اندازی میکنیم و روال گرفتن Access Token را برای یک کلاینت مشخص میکنیم. Scope ها یا همان محدوده ی دسترسی که به ازای هر Access Token مشخص میشود را نیز آموزش میدهیم و در بخشهای بعدی با انواع مجوزها که در Laravel Passport پیشتیبانی شده است، پروژه ی کاربردی را گسترش میدهیم.
ممکن است که دوست داشته باشید که Laravel Passport را بیشتر و عمیق تر یادبگیرید. در انتهای این دوره مباحث پیشرفته و قابل شخصی سازی در Laravel Passport را آموزش میدهیم.
با توجه به این که امروزه پروژههایی که بر پایه ی اپلیکیشنهای موبایلی هستند یا با فریم ورک های پیشرفته ی جاوااسکریپت کار میکنند، اغلب با API کار میکنند، یاد داشتن لاراول پاسپورت برای پشتیبانی از backend چنین پروژههایی مزیت مهمی محسوب میشود. زیرا هم امنیت اپلیکیشن را بالا می برد و هم از پروتکل استانداردی استفاده میکند. البته این مزیت، در کنار سایر قابلیتهای پر فایده ی لاراول قرار گرفته است.