توی قسمت قبلی این سری آموزش در مورد بخش Signup توضیح دادم.
الان می خوام در مورد لاگین صحبت کنم
کاربر ما وارد سایت میشه اکانت خودش رو میسازه و اطلاعاتش توی دیتابیس ثبت میشه
حالا از اپ logout می کنه و می خواد دوباره وارد بشه پس باید login انجام بده
دو حالت پیش میاد :
نکته: در هر دو روش باید چک کنیم کاربری با این شماره تماس یا نام کاربری توی دیتابیس وجود داره اگر نداشت اجازه ورود نداره
اینجا شماره تماس کاربر رو می گیریم از طریق سامانه sms براش یک کد تایید می فرستیم و اون کد رو توی ردیس ذخیره می کنیم
یه روت جدید میسازیم برای تایید کد به نام verify
اونجا شماره تماس و کد تایید رو از کاربر می گیریم و چک می کنیم آیا این کد برای همین شماره تماس فرستاده شده یا نه؟
اگر درست بود یه توکن JWT به کاربر میدیم
شماره تماس و پسورد کاربر رو می گیریم
اول از دیتابیس کاربری که این شماره تماس داره رو می گیریم
بعدش میریم که ببینیم پسورد کاربر درسته یا نه؟
اینجا با یه جالش رو به رو میشیم
وقتی پسورد رو hash کردیم و داخل دیتابیس ذخیره کردیم، چجوری مقایسه کنیم با پسورد اصلی که کاربر داده؟
الان نوبت متد compare میشه که میاد چک می کنه آیا این پسورد نسخه هش شده این پسورد هست؟ (روشی که این کار رو انجام میده رو توی یه پست دیگه توضیح میدم)
اگر پسورد درست بود یه توکن JWT به کاربر میدیم
در بخش های بعد authentication , authorization هم توضیح میدم ممنون که مطالعه کردید :)