codingcogs' logo

Authentication

در بخش قبلی با اتصال و استفاده از دیتابیس SQL آشنا شدید و در نهایت بخش قبلی را با تنظیم و ارتباط با یک دیتابیس NoSQL به پایان رساندیم. در حال حاضر هر کسی می‌تواند در برنامه‌ی ما عملیات CRUD برای eventها را انجام دهد اما این کار باید تنها توسط کاربران authenticated (احراز شده) قابل انجام باشد. در این بخش امنیت سیستم CRUD خود را با استفاده از JSON Web Token (JWT) و محدود کردن بعضی از عملیات به authenticated user ها انجام می‌دهیم.

البته برقراری امنیت یک برنامه صرفا به اینجا ختم نمی‌شود و مباحث زیادی برای جلوگیری از hack شدن وجود دارد. Authentication یکی از این فرآیند‌هاست که در آن با توجه به ارزیابی( verify ) یک درخواست کننده تعیین می‌کنیم که درخواست کننده کیست و سپس می‌توانیم با authorization مشخص کنیم که آیا کاربر اجازه‌ی انجام اعمال خاصی را دارد یا نه.

در این بخش به موارد زیر می‌پردازیم:

  • متد‌های Authentication
  • امنیت با OAuth2 و JWT
  • استفاده از dependency injection
  • تنظیم CORS