- 1 day ago
ЁЯОп TodayтАЩs Learning Outcomes
By the end of this class, students will be able to:
тЬЕ Implement form handling and validation for product details (name, price, description, image, etc.)
тЬЕ Connect the form with Node.js + Express backend API to save products in MongoDB
тЬЕ Display real-time success/error messages after product submission
тЬЕ Understand the complete product creation flow used in real e-commerce projects
By the end of this class, students will be able to:
тЬЕ Implement form handling and validation for product details (name, price, description, image, etc.)
тЬЕ Connect the form with Node.js + Express backend API to save products in MongoDB
тЬЕ Display real-time success/error messages after product submission
тЬЕ Understand the complete product creation flow used in real e-commerce projects
Category
ЁЯУЪ
LearningTranscript
00:00:00рдЭрд╛рд▓ рдЭрд╛рд▓
00:00:30рдЭрд╛рд▓ рдЭрд╛рд▓
00:01:00рдЭрд╛рд▓
00:01:02рдереЗ рд▓реЛ рдЧрд╛рдЗрдЬ рдЧреБрдб рдЗрд╡рдирд┐рдВрдЧ рдПрд╡рд░рд┐рд╡рди рдЧреБрдб рдЗрд╡рдирд┐рдВрдЧ рд╢реНрд░реЗрдЧрд▓ рддрд╛рдирд┐рдпрд╛ рдЕрдВрдЬреБрд▓реА рдЕрд░рдЬреБрди рдЧреБрдб рдЗрд╡рдирд┐рдВрдЧ рд░рд╛рдЬ рдЗрдВрджреНрд░реВ
00:01:13рдЕрдм рдЧреВрдж рдЗрдорд┐рдирд┐рдВрдЧ рд▓реАрдлрд╛ рдПрдХ рдмрд╛рд░ рд╕рдм рд░реИрд╕реНрдкреЙрдВрд╕ рдХрд░ рджреЛ рдХрд┐ рдореЗрд░реА рд╡рд╛рдЗрд╕ рдХреНрд▓рд┐рдпрд░ рд╣реИ рдФрд░ рдбрд┐рд╕реНрдкреНрд▓реЗрдЗрдк рдпрд╣ рдкреВрд╢ рдЖрдП рдкрд░ рджреЗрддрд╛ рд╣реВрдВ
00:01:24рд░рд╛рдЬреЗрдВрджрд░ рдкреВрдЪреЗ рд╣реИ рд╕рд░ рдХреИрд╕реЗ рд╣реЛ
00:01:49рд╕рд░ рдмрд┐рд▓реНрдХреБрд▓ рдмрдврд╝реА рд╣реИ рдПрдХ рджрдо рдмрд╕ рддрдм рд╣реИ рддреВрд▓реА рд╕реЗ рд╕рд╣реА рдирд╣реАрдВ рд╣реИ рдЖрдЬ
00:01:52рдХрд┐рд╕ рдЪреАрдЬ рдХрд╛ рдбрд░ рдерд╛ рд╡рд╣реА рд╣реЛ рдЧрдпрд╛ рдФрд░ рд╡рд╣ рдЬреБрдЦрд╛рдо рдХрд╛ рд╣реА рдбрд░ рд░рд╣рддрд╛ рд╣реИ рдФрд░ рд╡рд╣реА рд╣реЛ рдЧрдпреА
00:02:13рд╡рд╣ рдЗрд╕рд╕реЗ рдкрддрд╛ рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдпреЗрд╕ рдереЛрдбрд╝реА рд╡рд╣ рддреЛ рдкрд╣рд▓реЗ рддреЛ рднрд╛рд░реА рдереА рдФрд░ рднрд╛рд░реА рд╣реЛрдИ рд╣реЛрдЧреА рдорд┐рд░реА рд╡рд╣ рдЗрд╕ рдереЛрдбрд╝реА
00:02:19рдареАрдХ рд╣реИ рддреЛ рдЖрдЬ рдЕрдкрди рдЬреЛ рдЕрдкрдирдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рджреЗрдЦрд╛ рдерд╛ рдЙрд╕реА рдореЗрдВ рдЕрдкрди рдЖрдЧреЗ рдбрд┐рд╕рдХрд╕ рдХрд░рддреЗ рд╣реИрдВ
00:02:34рдЬрд┐рддрдирд╛ рдЕрдкрдиреЗ рдХрдореНрдкреНрд▓реАрдЯ рдХрд░ рд▓рд┐рдпрд╛ рдерд╛ рдЙрд╕реА рдореЗрдВ рдЕрдкрди рдЖрдЧреЗ рджреЗрдЦрддреЗ рд╣реИрдВ рдареАрдХ рд╣реИ
00:02:37рдареАрдХ рд╣реИ рдЪрд▓реЛ рдЕрдкрди рдЖрдЬрд╛рддреЗ рд╣реИрдВ рдЕрдкрдиреЗ VS Code рдХреА рдЙрдкрд░ рдФрд░ рдЗрд╕ рдкреЗ рдЖрдХреЗ рдЕрдкрди рдЙрдкрди рдХрд░ рд▓реЗрддреЗ рд╣реИрдВ
00:02:51рдЬрд┐рд╕ рдлреЛрд▓реНрдбрд░ рдкреЗ рдЕрдкрди рдХрд╛рдо рдХрд░ рд▓реЗрддреЗ рд╣реИрдВ рдЙрд╕реА рдХреЛ рдЕрдкрди рдЙрдкрди рдХрд░ рд▓реЗрддреЗ рд╣реИрдВ рдЗрд╕ рд╡реАрдХ рдореЗрдВ рдЕрдкрди рдЗрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдХрдореНрдкреНрд▓реАрдЯ рдХрд░ рд▓реЗрдВрдЧреЗ
00:02:58рдФрд░ 17 рдХреЛ рдЕрдкрдирд╛ рдиреНрдпреВ рдмреИрдЪ рдЖ рд░рд╣рд╛ рд╣реИ complete web development рдХрд╛ рдареАрдХ рд╣реИ рддреЛ рдЬрд┐рд╕рдХреЛ enroll рдХрд░рдирд╛ рд╣реИ рдЖрдкрдХреЗ рдЬреЛ рднреА friends рд╣реИ рдЬрд┐рдирдХреЛ рдпреЗ course рдХрд░рдирд╛ рд╣реИ рд╡реЛ рдлреНрд░реА рдореЗрдВ рддреЛ рдЙрдирдХреЛ рдЖрдк рдЬрд░реВрд░ suggestion рджреЗрдирд╛ рдЙрдирдХреЛ suggest рдХрд░рдирд╛ рдХрд┐ рдЖрдк рдпрд╣рд╛рдВ рд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реЛ
00:03:17рдХреЛрдИ charges рдЖрдк рд╕реЗ рдирд╣реАрдВ рд▓рд┐рдП рдЬрд╛рддреЗ рд╣реИ рдХреЛрдИ рдЖрдкрдиреЗ рднреА course complete рдХрд░рд╛ рд╣реИ рддреЛ рдЖрдкрдХреЛ рдкрддрд╛ рд╣реИ рдареАрдХ рд╣реИ рддреЛ рдЕрдкрдирд╛ рдирдпрд╛ рдмреИрдЪ рдЖ рд░рд╣рд╛ рд╣реИ рдЙрд╕рдХрд╛ рдпрд╛рдж рд░рдЦрдирд╛ рдмрд╕ рддреЛ рдЕрдкрди рдпрд╣рд╛рдВ рдкрд░ рдЗрд╕рдХреЛ open рдХрд░ рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдиреЗ front end and back end рджреЛрдиреЛрдВ рдХреЛ open рдпрд╣рд╛рдВ рдкрд░ run рдХрд░ рд▓реЗрддреЗ рд╣реИрдВ рдЬрд▓реНрджреА рд╕реЗ
00:03:38рдкрдВрдЬрд┐рд░реА рдЧрд░реЗ рд╕рд░ рдЖрдкрдХреА рддрд╡реНрдпрдд рдЦрд░рд╛рдм рд╣реИ рдХреНрдпрд╛ рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рддрд╡реНрдпрдд рдЦрд░рд╛рдм рддреЛ рдирд╣реАрдВ рдХрд╣ рд╕рдХрддреЗ рд▓реЗрдХрд┐рди рдЧрд▓рд╛ рдФрд░ рдЬреБрдХрд╛рдо рдпрд╣ рджреЛ рдЪреАрдЬрд╝ рд╣реИ
00:03:59рдпрд╣ рдХрд▓ рд╕рдВрдбреЗ рдХреЛ рд╣реА рд╣реЛ рдЧрдИ рдереА рд▓реЗрдХрд┐рди рдмрд╣реБрдд рдЬрд▓реНрдж рд╕рд╣реА рд╣реЛ рдЬрд╛рдПрдЧреА
00:04:03рдпрд╣рд╛рдВ рдкрд░ run рдХрд░ рд▓реЗрддреЗ рд╣реИрдВ рдЕрдкрдиреЗ cd рдХрд░рдХреЗ рдореИрдВ рдЖ рдЬрд╛рддрд╛ рд╣реВрдВ рдЕрдкрдиреЗ back end рдХреЗ рдЙрдкя┐╜
00:04:27рдареАрдХ рд╣реИ рдФрд░ рдЗрд╕реА рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рдЕрдкрдиреЗ front end рдХреЛ рднреА run рдХрд░ рд▓реЗрддреЗ рд╣реИрдВ рдЪрд▓рдиреЗ рд╕реЗ рддреЛ рдпрд╣ рдЕрдкрдирд╛
00:04:53рдФрд░ рдЕрдкрди рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдЕрдм рдЖрдЧреЗ рдЕрдкрдиреЗ рдХреЛ рдпрд╣рд╛рдБ рдкрд░ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ
00:04:56рдЕрдм рджреЗрдЦреЛ рдпрд╣рд╛рдБ рдкрд░ рдЬреЛ рдЖрдЬ рдЕрдкрди рдЪреАрдЬрд╝ рджреЗрдЦрдиреЗ рд╡рд╛рд▓реЗ
00:05:08рдлреВрдм рдЬреЛ рдЕрдкрдиреЗ рдЬрд┐рддрдиреЗ рджреЗрдЦ рд▓рд┐рдП
00:05:10рдПрдбреНрдорд┐рди рдХрд╛ рдЕрдкрдирд╛ рд▓рдЧрдмрдЧ рдХрдВрдкреНрд▓реАрдЯ рд╣реИ
00:05:11рд╕рд░реНрдЪ рд╡рд╛рд▓рд╛ рднреА рдЕрдкрдиреЗ рдпрд╣рд╛рдБ рдкрд░ рдХрдВрдкреНрд▓реАрдЯ рдХрд░ рд▓рд┐рдпрд╛
00:05:14рдЙрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдкрди рдпрд╣рд╛рдБ рдкрд░ рджреЗрдЦрддреЗ рд╣реИрдВ
00:05:19рдпрд╣ рдЕрдкрдиреЗ рдкреНрд░реЛрдбрдХреНрдЯреНрд╕ рдЕрдкрдиреЗ рдХреЛ рдпрд╣рд╛рдБ рдкрд░ рд╢реВрд░ рд╣реИ
00:05:20рдХреЗрдЯреЗрдЧрд░реА рдЕрдкрдиреА рдХрдВрдкреНрд▓реАрдЯ рд╣реИ
00:05:22рдХреНрд╡реЗрд░реА рд╡рд╛рд▓рд╛ рдЕрдкрдиреЗ рдХрдВрдкреНрд▓реАрдЯ рдХрд░ рд▓рд┐рдпрд╛
00:05:23home рдЕрдкрдирд╛ рд╣реИ, cart рдЕрдкрди рдпрд╣рд╛рдБрдкрд░ complete рдХрд░рддреЗ рд╣реИрдВ
00:05:26рдЕрдм рдЕрдкрдиреЗ рдХреЛ рдпрд╣рд╛рдБрдкрд░
00:05:27рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ, cart рдХреЗ рдЕрдВрджрд░
00:05:29рдЬреИрд╕реЗ рдорд╛рд▓реЛ рдореИрдВрдиреЗ рдпрд╣рд╛рдБрдкрд░ add to cart
00:05:31рдХрд░рд╛, add to cart рдХрд░рд╛, рддреЛ рдпрд╣рд╛рдБрдкрд░
00:05:33рджреЛ product рдореЗрд░реЗ add to cart рд╣реЛ рдЪреБрдХреЗ рд╣реИ
00:05:35рд▓реЗрдХрд┐рди рдХрд┐рд╕ user рдХреЗ рд╣реИ рдпрд╣?
00:05:37рдпрд╣ рднреА рддреЛ рдмрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдХрд┐рд╕ user рдХреЗ
00:05:38рдкреНрд░реЛрдбрдХреНрдЯ рд╣реИ рдЕрднреА рддреЛ рдпрд╣рд╛рдБ рдкрд░ рдХрд╛рд░реНрдЯ рдореЗрдВ рдЖрдб рд╣реЛрдЧреЗ рдЬреИрд╕реЗ рдЖрдк рдЗрд╕рдХреЛ рд░рд┐рдлреНрд░реЗрд╢ рдХрд░реЛрдЧреЗ рд╕рдм рдХреБрдЫ
00:05:42рдерд╛ рдорд╛рди рдпрд╣рд╛рд░реЗ рдкреЛ рд░рд┐рдлреНрд░реЗрд╢ рдХрд░ рдЖрд╡реЗ рдорд╕реНрддрд╛рдж рдХрд░рдиреЗ рдЕрдЧрд╛ рдЧрд╛рд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣рд╛рдБ рдкрд░ рдХреЛрдИ рдмреА рдРрд╕рд╛ рдпреВрдЬрд░ рдирд╣реАрдВ рд╣реИ рдЬреЛ
00:05:48рд▓реЙрдЧрд┐рди рдХрд░рдХреЗ рдЖрд░рд╣рд╛ рдЕрдкрд░ рджрд╛рдЗрд░реЗрдХреНрд▓рд┐ рдпрд╣рд╛рдВ рдкрд░ рдЖ рд░рд╣реЗ рдФрд░ рдСрдкрдиреЗ рдЕрдВрджреНрд░реЗрд╢ рдХрд░ рд░рд╣реЗ рд╢ ciertрд┐рд╕реЗ рд╣рдо рдЪреВрдВ рдХрд░рдиреЗ рдЖрдпреЗ рдбрд╛ рдХреНрд░рд╛рдЯ рдХрд░ рджреЛрд░
00:05:57рдЯреЛрдХрди рдкреНрд░реЛрд╡рд╛рдЗрдб рдХрд░рдирд╛ рд╣реИ рдФрд░ рдЬреЛ рдЯреЛрдХрди рдЕрдкрди рдкреНрд░реЛрд╡рд╛рдЗрдб рдХрд░реЗрдВрдЧреЗ рдЙрд╕рдХреЗ рд▓рд┐рдП рдЕрдкрди рдпреВрдЬ рдХрд░реЗрдВрдЧреЗ рдЕрдкрдиреЗ JWT рдХрд╛
00:06:03JSON Web Tokens рдареАрдХ рд╣реИ рдпрд╣ рдмреЗрд╕рд┐рдХрд▓рд┐ рдЕрдкрдиреЗ рдкрд╛рд╕ рдХреНрдпрд╛ рд╣реЛрддреЗ рд╣реИрдВ рдЕрдкрдиреЗ
00:06:07Tokens рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рдЕрдкрди рдпрд╣рд╛рдБ рдкрд░ generate рдХрд░рддреЗ рд╣реИрдВ рдЯреЛрдХрди рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реЛ рдЧрдпрд╛
00:06:11рдЬреИрд╕реЗ рдорд╛рд▓реЛ рдЕрдкрди рдХрд┐рд╕реА рднреА рд╣реЛрдЯрд▓ рдХреЗ рдЕрдВрджрд░ рдЬрд╛рддреЗ рд╣реИрдВ рддреЛ рд╣реЛрдЯрд▓ рдореЗрдВ рдЬрд╛рддреЗ рд╣реА рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ
00:06:17рдЖрдк рдХреНрдпрд╛ рдХрд░рддреЗ рд╣реИрдВ рдЖрдк рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░рд╡рд╛рддреЗ рд╣реЛ рдЕрдкрдирд╛ рдЬреЛ рднреА account account рд╕рд╛рд░реА details рджреЗрддреЗ рд╣реЛ
00:06:20рдлрд┐рд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╡реЛ рдЖрдкрдХреЛ рдПрдХ key рджреЗрддреЗ рд╣реИ рдЖрдкрдХреЗ room рдХреА рддреЛ рдЖрдк рдЙрд╕рдореЗрдВ рдЕрдкрдирд╛ рд╕рд╛рдорд╛рди рд░рдЦ рд╕рдХрддреЗ рд╣реЛ
00:06:25рдЬреЛ рднреА рд╕рд╛рдорд╛рди рд░рдЦрдирд╛ рд╣реИ рдлрд┐рд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдЖрдк key рд╕реЗ рдЙрд╕рдХреЛ access рдХрд░реЛрдЧреЗ рдЙрд╕рдХреЗ рдмрд╛рдж рдЙрд╕реА рд╕реЗ рдЖрдк рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддреЛ рд╕реЗрдо рдРрд╕реЗ рд╣реА
00:06:31tokens рдЕрдкрдиреЗ рдкрд╛рд╕ рдпрд╣рд╛рдВ рдкрд░ рд╣реЛрддреЗ рд╣реИрдВ рдХрд┐ рдЬреЛ рднреА user рдпрд╣рд╛рдВ рдкрд░ login рдХрд░рдХреЗ рдЖ рд░рд╣рд╛ рд╣реИ рдЙрд╕рдХреЛ рдЕрдкрдиреЗ рдПрдХ token рдкреНрд░реЛрд╡рд╛рдЗрдб рдХрд░ рджрд┐рдпрд╛
00:06:38рдФрд░ рдЙрд╕ token рдХреЗ рдереБрд░реВ рдЕрдкрдиреЗ рд╕рд╛рд░реЗ data рдХреЛ access рдХрд░ рд╕рдХрддрд╛ рд╣реИ рд╡реЛ рдЬреЛ token рдпрд╣рд╛рдВ рдкрд░ рдЙрд╕рдХреЛ рдорд┐рд▓реЗрдЧрд╛ рдЙрд╕ token рдХреЗ basis рдкрд░ рдЙрдкрдиреЗ cart рдореЗрдВ рдЬрд╛рдХреЗ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реИ
00:06:46рдХрд┐ рдЙрд╕рдиреЗ рдЬреИрд╕реЗ рдорд╛рд▓реЛ рддреАрди рджрд┐рди рдкрд╣рд▓реЗ рдХреЛрдИ product add рдХрд░реЗ рдереЗ рддреАрди рдпрд╛ рдЪрд╛рд░ product рддреЛ рд╡реЛ check рдХрд░ рд╕рдХрддрд╛ рд╣реИ
00:06:52рдЕрдЧрд░ рд╡реЛ tokens рдХреЛ expire рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдорддрд▓рдм рдЬреИрд╕реЗ logout рдХрд░реЗрдЧрд╛ рддреЛ tokens рдХреНрдпрд╛ рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ
00:06:56expire рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ рд╡рд╛рд╕реЗ рддреЛ expire рднреА рдХрд░ рд╕рдХрддрд╛ рд╣реИ tokens рдХреЛ рдФрд░ tokens рдХреЛ рдпрд╣рд╛рдВ рдкрд░ рдХреНрдпрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ
00:07:02рд░рдЦ рднреА рд╕рдХрддрд╛ рд╣реИ рдЪреАрдХ рд╣реИ рддреЛ рдЗрд╕ рддрд░реАрдХреЗ рд╕реЗ рдЕрдкрди рдпрд╣рд╛рдВ рдкрд░ рдЕрдкрдиреА tokens generate рдХрд░рд╡рд╛рдПрдВрдЧреЗ
00:07:07рдФрд░ рдЙрд╕рдХреЗ рд▓рд┐рдП рдЬреЛ use рдХрд░ рд░рд╣реЗ рд╣реИ рд╡реЛ use рдХрд░ рд░рд╣реЗ рд╣реИ рдЕрдкрдирд╛ json web token рдЪреАрдХ рд╣реИ
00:07:12рддреЛ json web token рдХреА рддреЛрдкрди рдпрд╣рд╛рдВ рдкрд░ рдпрд╣ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╣реИ рдЬреЛ рдЕрдкрдирд╛ signature verify рдпрд╣ рд╡реЛ рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ
00:07:17valid JWT рдпрд╣ рд╕рд╛рд░реЗ рд╣реАрдЬрд╝реА рдпрд╣рд╛рдВ рдкрд░ рд╣реИрдВ рдпрд╣ encoder рд╣реИ рдЕрдкрдиреЗ рдкрд╛рд╕ рдЕрдкрдиреЗ рдкрд╛рд╕
00:07:37рдпреВрдирд┐рдХ generate рд╣реЛрдЧрд╛ рд╣рд░ user рдХреЗ рд▓рд┐рдП рддреЛ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЕрдкрдиреЗ рдХреЛ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ
00:07:41tokens generate рдЕрдкрдиреЗ рдХреЛ рдХрд░рд╡рд╛рдиреЗ рд╣реИрдВ, рддреЛ рдЕрдкрди рдЬрд▓реНрджреА рд╕реЗ рдЕрдкрдиреЗ рдпрд╣рд╛рдБ рдкрд░
00:07:45tokens generate рдХрд░рд╡рд╛рддреЗ рд╣реИрдВ, рдЕрдм token рдХрдм generate рдХрд░рд╡рд╛рдирд╛ рд╣реИ? рдЬрдм рд╡реЛ
00:07:49рдпрд╣рд╛рдБ рдкрд░ register рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЬреИрд╕реЗ рдорд╛рд▓реЛрдВ рдЗрд╕рдиреЗ register рдХрд░рд╛, рдЙрд╕рдиреЗ
00:07:53рдмреБрд▓рд╛ рдХрд┐ рдЙрд╕рдХрд╛ рдирд╛рдо рджреЗрд╡рд╛рдВрдЪ рд╣реБрдП, рдЙрд╕рдиреЗ рдЕрдкрдиреА mail рдЖрдИрдбреА рдпрд╣рд╛рдБ рдкрд░
00:07:56рдкреНрд▓реНрдЯ рдХрд░ рджреА рдФрд░ рдЙрд╕рдиреЗ рдкрд╛рд╕рд╡рд░реНрд▓ рд▓рд┐рдЦ рджрд┐рдпрд╛uno 345 рдареАрдХ рд╣реИ рдпреЗ рдЙрд╕рдиреЗ рдпрд╣рд╛рдБ рдкрд░ рдкрд╛рд╕рд╡рд░реНрд▓ рд▓рд┐рдЦ рджрд┐рдпрд╛ рдФрд░ рд░реЗрдЬрд┐рд╕реНрдЯреНрд░ рдХрд░ рджрд┐рдпрд╛ рддреЛ рд╕рдХреНрд╕реЗрд╕реНрдлрд╝┘И╪▒реА
00:08:02рд░реЗрдЬрд┐рд╕реНрдЯреНрд░ рд╣реБрдЖ рдлрд┐рд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдЙрд╕рдиреЗ рдкрдиреА mail id рджреА рдФрд░ 1-2-345 рдпреЗ рдЙрд╕рдиреЗ рдпрд╣рд╛рдБ рдкрд░
00:08:08рдХреНрдпрд╛ рд░рдЦ рджрд┐рдпрд╛ рдЕрдкрдирд╛ password рдФрд░ login рдХрд░рд╛ рддреЛ successfully
00:08:11login рдпрд╣рд╛рдБ рдкрд░ рд╣реЛ рдЪреБрдХрд╛ рд╣реИ рдареАрдХ рд╣реИ
00:08:12рдФрд░ рдЬреИрд╕реЗ login рд╣реЛ рдЬрд╛рдП рддреЛ рдЙрдкрдиреЗ card рдХреЛ
00:08:14access рдХрд░ рдкрд╛рдП рдЕрдЧрд░ рдирд╣реАрдВ рд╣реИ рддреЛ card access
00:08:16рдирд╣реАрдВ рдХрд░ рдкрд╛рдПрдЧрд╛ рдареАрдХ рд╣реИ рддреЛ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ
00:08:18рдЕрдкрди рдпрд╣рд╛рдБ рдкрд░ рдЕрдкрдирд╛ рдЬреЛ рдпрд╣ password рджреЗ рд░рд╣реЗ
00:08:20рдпрд╣ рдЕрдкрдирд╛ mail ID рджреЗ рд░рд╣реЗ рдФрд░ password
00:08:23рдкрд░ рджреЗ рд░рд╣реЗ рдЗрд╕рдХреЗ basis рдкрд░ рдЕрдкрдиреЗ рдХреЛ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ
00:08:24login рдХреЗ time рдЕрдкрдиреЗ рдХреЛ рдЕрдкрдиреЗ
00:08:26tokens generate рдХрд░рд╡рд╛рдиреЗ рд╣реИрдВ рддреЛ рд╕рдмрд╕реЗ
00:08:29рдкрд╣рд▓реЗ рдЕрдкрди рдЖрддреЗ рд╣реИрдВ рдЕрдкрдиреЗ tokens generate рдХрд░рд╡рд╛рдиреЗ
00:08:31рд╡рд╛рд▓реЗ step рдХреЗ рдЙрдкрд░
00:08:32рддреЛ рдпрд╣ рдЕрдкрдирд╛ backend рд╣реИ рдпрд╣ рдЕрдкрдирд╛
00:08:35frontend рд╣реИ рдФрд░ SRC рдХреЗ рдЕрдВрджрд░
00:08:37рдПрдХ рдмрд╛рд░ рдХреЗ рд▓рд┐рдП рдмрд╛рдХреА рдЪреАрдЬрд╝реЗ close рдХрд░ рджреЛ
00:08:39рд╡рд╛рдкрд╕ рд╕реЗ рдЕрдкрди рд╕рдм рджреЗрдЦрддреЗ рд╣реИрдВ
00:08:41рдФрд░ рдпрд╣рд╛рдБ рдкрд░
00:08:43рдЗрд╕ backend рдХреЛ рдПрдХ рдмрд╛рд░ close рдХрд░реЛ
00:08:44frontend рдХреЗ рдЕрдВрджрд░ SRC рдФрд░ SRC рдХреЗ рдЕрдВрджрд░
00:08:46рдЕрдкрдиреЗ рдЖрддреЗ рд╣реИрдВ рдЕрдкрдиреЗ рдпрд╣рд╛рдБ рдкрд░
00:08:47PGS рдореЗрдВ components рдореЗрдВ login рдХрд╛ рдпрд╣ рд░рд╣рд╛ рдЕрдкрдиреЗ рдкрд╛рд╕
00:08:51рдпрд╣рд╛рдБ рдкрд░ login рдкрд░ рдЖрдк рдХреНрдпрд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ
00:08:53login details рднреЗрдЬ рдЬрд░реВ рдХрд┐рд╕ рдкрд░ рдЬрд╛ рд░рд╣рд╛ рд╣реИ
00:08:54login user рдХреЗ рдЙрдкрд░
00:08:56рдЗрд╕ login user рдХреЗ рдЙрдкрд░ рдпрд╣ рдЬрд╛ рд░рд╣рд╛ рд╣реИ
00:08:58рдФрд░ рдпрд╣рд╛рдБ рдкрд░ рдЖрдкрдХрд╛ login рдХрд╛ data рдЬрд╛ рд░рд╣рд╛ рд╣реИ
00:09:00рдЖрдкрдХрд╛ рдЬреЛ password рд╣реИ рдФрд░ рдЖрдкрдХрд╛
00:09:03рдпрд╣рд╛рдБ рдкрд░ рдЬреЛ email рд╣реИ
00:09:04рд╡реЛ рджреЛрд░реЛрдВ рдЪреАрдЬрд╝реЗ рдпрд╣рд╛рдБ рдкрд░ рдХрд┐рд╕ рдкрд░ рдЬрд╛ рд░рд╣реА рд╣реИ
00:09:06login user рдХреЗ рдЙрдкрд░
00:09:07рддреЛ рдЬрд▓реНрджреА рд╕реЗ рдЕрдкрди back end рдкрд░ рдЖрддреЗ рд╣реИ
00:09:09рдФрд░ back end рдкрд░ рдЖрдХреЗ рдмрдирд╛ рдЬрд╛рддреЗ рд╣реИ
00:09:10рдЕрдкрдиреЗ user.js рдХреЗ рдЙрдкрд░
00:09:11рдмрд░рд╛рдЙрдЯреНрд╕ рдкрд░ рдЖрдЬрд╛рдУ
00:09:13API.js рдХрд┐рд╕ рдкрд░ рдЬрд╛ рд░рд╣реА рд╣реИ рдЖрдкрдХреА DTS
00:09:15login user рдХреЗ рдЙрдкрд░
00:09:17рдпрд╣ рд░рд╣рд╛ login user рдФрд░ рдХреМрди рд╕реЗ controller рдкрд░ рдЬрд╛рдПрдЧрд╛
00:09:19рдпрд╣ login data controller рдЬреЛ рдЖрдкрдХрд╛ user.js
00:09:21рдХреЗ рдЕрдВрджрд░ рдмрдирд╛ рд╣реБрдЖ рд╣реИ
00:09:22рдЕрдм рдЖрдкрдХреЛ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ
00:09:24рдпрд╣рд╛рдБ рдкрд░ рдЖрдкрдХреЛ token
00:09:27generate рдХрд░рд╡рд╛рдиреЗ рд╣реИрдВ
00:09:28рдпрд╣рд╛рдБ рдкрд░ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ
00:09:29token рдЖрдкрдХреЛ рдпрд╣рд╛рдБ рдкрд░ generate рдХрд░рд╡рд╛рдирд╛ рд╣реИ
00:09:31рдФрд░ token рдЕрдкрди рдпрд╣рд╛рдБ рдкрд░ generate рдХрд░рд╡рд╛рдПрдВрдЧреЗ
00:09:34рдЕрдкрдиреЗ рдХрд┐рд╕рдХреЗ рдереБрд░реВ
00:09:34рдЕрдкрдирд╛ рдЬреЛ JSON Web token рд╣реИ
00:09:37рдЙрд╕рдХреЗ рдереБрд░реВ рдЕрдкрди рдпрд╣рд╛рдБ рдкрд░
00:09:38рдЕрдкрдиреЗ tokens рдпрд╣рд╛рдБ рдкрд░ generate рдХрд░рд╡рд╛рдиреЗ рд╡рд╛рд▓реЗ рд╣реИрдВ
00:09:41рдпрд╣ рдЬреЛ рдЕрдкрдирд╛
00:09:43рдпрд╣ рд╣реИ рдЗрд╕рдХреА рдзреБрд░реВрдкрди рдпрд╣рд╛рдБ рдкрд░ рдпрд╣ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ рдЬреИрд╕реЗ рдЗрд╕рдХреЗ рдЗрдВрдЯреНрд░реЛрдбрдХреНрд╢рди рдХреА рдЙрдкрд░ рдЕрдкрдирд╛ рдЖрддреЗ рд╣реИ рддреЛ рджреЛрдЧрдП рдпрд╣рд╛рдБ рдкрд░ рдЗрд╕рдиреЗ рд╕рд╛рд░реА рдЪреАрдЬрд╝реЗрдВ рд░рдЦрд┐рдП рдХрд┐
00:09:51json web tokens рдХреНрдпрд╛ рд╣реИ рдХрд┐рд╕ рддрд░реАрдХреЗ рд╕рд╛ рдЖрдкрдХреЗ рдпрд╣рд╛рдБ рдкрд░ tokens generate рд╣реЛрдВрдЧреЗ рдЪреАрдХ рд╣реИ рд╡реЛ рд╕рд╛рд░реА рдЪреАрдЬрд╝реЗрдВ рдпрд╣рд╛рдБ рдЗрд╕рдиреЗ mention рдХрд░ рд░рдЦреА рджреЗрдЦреЛ рдпрд╣рд╛рдБ рдкрд░ рддреАрди рдЯрд╛рдЗрдк рдореЗрдВ рдпрд╣ рдЖрдкрдХрд╛ header рд╣реЛрддрд╛ рд╣реИ рдпрд╣ рд╡рд╛рд▓рд╛ рдЬреЛ color рдЖрддрд╛ рд╣реИ рдпрд╣ header рд╣реИ рдпрд╣ рдЖрдкрдХрд╛ payload рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдЕрдкрдирд╛ payload рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдЕрдкрдиреЗ рдкрд╛рд╕ рд╣реЛрддрд╛ рд╣реИ рдЕрдкрдирд╛ verify signature рдЕрдЧрд░ я┐╜
00:10:21рдХрд┐ рдпрд╣ рдХреНрдпрд╛ documentation рдпрд╣рд╛рдБ рдкрд░ рд╣реИ рдареАрдХ рд╣реИ рддреЛ рдпрд╣ рдХрд╛рдо рдЖрдкрдХреЛ рдХрд░рдирд╛ рд╣реИ рдХрд┐рд╕ рддрд░реАрдХреЗ рд╕реЗ рдХрд░реЛрдЧреЗ рдпрд╣ рдЖрдкрдХреЛ рд╕рд┐рд░реНрдл рдЗрд╕рдХреЛ рдЬрд╛рдХреЗ explore рдХрд░рдирд╛ рд╣реИ рдЕрдм рдпрд╣рд╛рдБ рдкрд░ installation рдХреИрд╕реЗ рджреЗрд░ рд░рдЦрд╛ рд╣реИ npm install json web token рдЗрд╕рдХреЛ рдЖрдк рдпрд╣рд╛рдБ рдкрд░ install рдХрд░ рд▓реЛ рдФрд░ then рдЙрд╕рдХреЗ рдмрд╛рдж use рдХрд░ рд▓реЛ рддреЛ рдореИрдВ рдпрд╣рд╛рдБ рдкрд░ рдЖрдХреЗ рдЗрд╕рдХреЛ install рдХрд░ рд▓реЗрддрд╛ рд╣реВрдБ рдЙрдкрдиреЗ backend
00:10:51рдареАрдХ рд╣реИ рддреЛ рдпрд╣рд╛рдБ рдкрд░ рдЗрд╕рдХреЛ install рдХрд░ рд▓реЛ
00:10:55install рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЖрдкрдХреЛ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ рдЕрдкрдиреЗ backend рдХреЛ рд╡рд╛рдкрд░ рд╕реЗ run рдХрд░рд▓реЛ рдФрд░ рдЗрд╕рдХреЛ рдпрд╣рд╛рдБ рдкрд░ require рдХрд░ рд▓реЛ рдЬрд┐рд╕рдХреЛ рдЖрдк рдиреЗ install рдХрд░рд╛ рддреЛ рдореИрдВ рдпрд╣рд╛рдБ рдкрд░ рдХреНрдпрд╛ рд▓рдЧрд╛рдБрдЧрд╛ рдЕрдкрдирд╛ require
00:11:07рдХреЗ рдПрдВ рдорд┐рдиреЗ рд░реЗрдХреНрд╡рд╛рдпрд░ рд▓рдЧрд╛рдпрд╛ рдФрд░ рдЙрд╕рдХреЛ рд░рд┐рдХрд╡рд╛рдпрд░ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рд╣реИ рдирд╣реАрдВ рд╣реЛ рдФрд░ рдЕрдкрд░ рдпрд╣рд╛рдВ рдкрд░ рдкрд░
00:11:25рд▓реЙрдЧрд┐рдирд┐ рдореЛрд░реНрдЯ рдЖ рд░рд╣реА рд╣реИ рдЕрдкрдиреЗ рдХреЛ рдЙрд╕рдХреА рд╕рд╛рдирд▓ рдЖ рд▓рдЧрд╛рдпрд╛ рд╣реВрдВ рд╣реИ рд▓рд┐рдХрд┐рди
00:11:37рдЬрдм рдЕрдкрди рдпрд╣рд╛рдБ рдкрд░ рдХреНрдпрд╛ рдХрд░ рд░рд╣реЗ рд╣реИ, рдЬреЗрд╕рди рдХреЗ рдЕрдВрджрд░ рд╕реЗ рдПрдХ message рдмреЗрдЬрд╝реЗ successfully login, рдЗрд╕рдХреЗ рд╕рд╛рде рдЕрдкрди рдпрд╣рд╛рдБ рдкрд░ рдЕрдкрдирд╛ token рднреА generate рдХрд░рд╡рд╛рдиреЗ рд╡рд╛рд▓реЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдпрд╣рд╛рдБ рдкрд░ рдЕрдкрдиреЗ JWT рдХреЛ рдмрд┐рд▓рд╛рдУрдВрдЧрд╛, рдЙрд╕рдореЗрдВ рд╕реЗ dot рдЕрдкрди рдпрд╣рд╛рдБ рдкрд░ рдирд┐рдХрд╛рд▓реЗрдВрдЧреЗ рдЕрдкрдирд╛ sign рд╡рд╛рд▓рд╛ method, рдЬреАрдХ рд╣реИ, JWT dot sign рд╡рд╛рд▓рд╛ method рдЕрдкрди рдпрд╣рд╛я┐╜
00:12:07login рдЬреЛ рдХрд░рдХреЗ рдЖ рд░рд╣рд╛ рд╣реИ user, рдЙрд╕рдХреЗ рдПрдХ unique ID assign рд╣реЛрддреА рд╣реИ, рдЕрдкрдиреЗ database рдХреЗ рдЕрдВрджрд░, рддреЛ рд╡реЛ ID рдореИрдВ рдпрд╣рд╛рдБ рдкрд░ assign рдХрд░ рд░рд╣рд╛ рд╣реВрдБ, рдпрд╣рд╛рдБ рдкрд░ рдЕрдкрдирд╛ user check рдЖ рд░рд╣рд╛ рд╣реИ, рдпрд╣ рдЬреЛ user check рд╣реИ, рдЙрд╕реА рдореЗрдВ рд╕реЗ dot рдХрд░рдХреЗ рдореИрдВ рдпрд╣рд╛рдБ рдкрд░ рдХреНрдпрд╛ рдирд┐рдХрд╛рд▓реВрдБрдЧрд╛, рдЕрдкрдиреА underscore ID, рдЕрдкрдиреА database рд╡рд╛рд▓реА ID рдЕрдкрди рдпрд╣рд╛рдБ рдЖрдкрд░ рдирд┐рдХрд╛рд▓ рд▓реЗрдХреЗ рд╣реИрдВ, рдареА
00:12:37рдХрд░рддрд╛ рд╣реВрдБ, JWT secret рдХрд░рдХреЗ рд╣реИ, capital рдореЗрдВ рд░рдЦ рд▓реЛ, JWT secret, рдареАрдХ рд╣реИ, рдФрд░ рдпрд╣рд╛рдБ рдкрд░ рдЕрдкрди рдХреБрдЫ рднреА pass рдХрд░ рд▓реЗрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдорд╛рд▓реЛ рдЕрднреА рдХреЗ рд▓рд┐рдП рдореИрдВ рдпрд╣рд╛рдБ рдкрд░ рд▓рд┐рдЦ рджреЗрддрд╛ рд╣реВрдБ, рджреЗрд╡рд╛рдирд╢реВ рд╕рд░, рдпрд╣ pass рдХрд░рддрд╛ рд╣реВрдБ, рдЕрднреА рдХреЗ рд▓рд┐рдП рдпрд╣ pass рдХрд░рддрд╛ рд╣реВрдБ, secret рдХреА, рдФрд░ secret рдХреА рдХреЛ рдЕрдкрди рдпрд╣рд╛рдБ рдкрд░ рдпреВрдЬ рд▓реЗ рд▓реЗрдд
00:13:07dot env, dot, рдХреНрдпрд╛ pass рдХрд░рд╛ рд╣реИ рдЕрдкрдиреЗ, рд╡рд╣реА рдпрд╣рд╛рдБ рдкрд░ рд▓рд┐рдЦ рд▓реЗрддрд╛ рд╣реВрдБ, JWT secret, рддреЛ рдпрд╣рд╛рдБ рдкрд░ рдЕрдкрди рдЙрд╕рдХреЛ pass рдХрд░ рд▓реЗрддрд╛ рд╣реИ, рдареАрдХ рд╣реИ, рдпрд╣ рдЕрдкрдиреЗ рдпрд╣рд╛рдБ рдкрд░ рдХреНрдпрд╛ pass рдХрд░ рджрд┐рдпрд╛, рдЕрдкрдиреА secret рдХреА pass рдХрд░ рджреА, рдерд░реНрдб рдЕрдкрди рдпрд╣рд╛рдБ рдкрд░ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЗрд╕ token рдХреЛ рдХрд┐рддрдиреА рджреЗрд░ рдореЗрдВ expire рдХрд░рд╡рд╛рдирд╛ рд╣реИ, рдареАрдХ рд╣реИ, рддреЛ рдореИ
00:13:37basically рдЬрдм рднреА login рдХрд░реЗрдЧрд╛, рддреЛ рдПрдХ рдирдпрд╛ token рдпрд╣рд╛рдБ рдкрд░ generate рд╣реЛрдЧрд╛, рдЙрд╕ token рдХреЛ рдЕрдкрди рдпрд╣рд╛рдБ рдкрд░ рдирд┐рдХрд╛рд▓ рд▓реЗрдВрдЧреЗ, sign рдХреЗ рдерд░реВ, рдареАрдХ рд╣реИ, рддреЛ рдпрд╣ token рдЕрдкрдирд╛ рдпрд╣рд╛рдБ рдкрд░ generate рд╣реЛрдЧрд╛, рдПрдХ secret рдХреА рдЕрдкрдиреЗ рдкрд╛рд╕ рдХрд░реА рд╣реИ, рдФрд░ рдЬреЛ ID рд╣реЛрдЧреА, рдЙрд╕ ID рдХреЗ basis рдкреЗ рдпрд╣рд╛рдБ рдкрд░ рдЕрдкрдирд╛ token рдордиреЗрдЧрд╛, рдареАрдХ рд╣реИ, рдФрд░ рдЗрд╕ token рдХреЛ рдореИрдВ рдпрд╣рд╛рдБ рдкрд░ рдХреНрдп
00:14:07рдкрд░ рдЖ рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдП token, рдареАрдХ рд╣реИ, рдорддрд▓рдм рдЬрд╣рд╛рдБ рдкрд░ рдЖрдк login рдХрд░ рд░рд╣реЗ рд╣реЛ, рдЙрд╕ login рдХреЗ рдЕрдВрджрд░ рдЕрдкрдиреЗ рдкрд╛рд╕ рдпрд╣рд╛рдБ рдкрд░ рдЖрдкрдХреЗ tokens рдЖ рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдП, рдЗрд╕ рдЬрдЧреЗ, рдареАрдХ рд╣реИ, рдпрд╣рд╛рдБ рд╕реЗ рддреЛ рдЖрдк data рдмреЗрдЬ рд░рд╣реЗ рд╣реЛ, рдпрд╣ рдЖрдкрдХрд╛ response рдЖ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рдХреЗ рдЕрдВрджрд░ рдЖрдкрдиреЗ рдпрд╣ рдХрд░рд╡рд╛ рд░рдЦрд╛ рд╣реИ рд╕рд╛рд░рд╛ рдХрд╛рдо, рддреЛ рдпрд╣рд╛рдБ рдк
00:14:37inspect рдХрд░реЛ, рдФрд░ inspect рдХрд░рдХреЗ, рдПрдХ рдмрд╛рд░ рд╡рд╛рдкрд╕ рдХрд░ рд▓реЛ, рдЗрд╕рдХреЛ inspect, inspect рдХрд░рдХреЗ рдЕрдкрд░ рдпрд╣рд╛рдБ рдкрд░ рдХреНрдпрд╛ рдХрд░рддреЗ рд╣реИрдВ, login рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ console рдореЗрдВ рдЪреЗрдХ рдХрд░рддреЗ рд╣реИрдВ, рдХрд┐ рдЕрдкрдиреЗ рдкрд╛рд╕ рдЕрдкрдиреЗ tokens рдмрди рд░рд╣реЗ рд╣реИрдВ, рдпрд╣рд╛рдБ рдкрд░ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЕрдкрдиреА mail ID, рдореИрдВрдиреЗ рдпрд╣рд╛рдБ рдкрд░ рдмреБрд▓рд╛ рджреАрд╡рд╛рдВрдЪреВ,
00:14:52at the red gmail.com, рдареАрдХ рд╣реИ, рдпрд╣реА рджрд┐рдпрд╛ рдерд╛, рдЖрдкрдиреЗ password рдореИрдВрдиреЗ 12345 рджреЗ рджрд┐рдпрд╛, рдФрд░ рдореИрдВрдиреЗ рдпрд╣рд╛рдБ рдкрд░ рдХрд░рд╛ login, рддреЛ рджреЗрдЦреЛ рдпрд╣рд╛рдБ рдкрд░ рдкрд╣рд▓рд╛ рддреЛ рдЖ рд░рд╣рд╛ рд╣реИ рдЖрдкрдХрд╛ message, successfully login, рдФрд░ рджреВрд╕рд░рд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдпрд╣рд╛рдБ рдкрд░ рдЖрдкрдХрд╛ token рдпрд╣рд╛рдБ рдкрд░ generate рд╣реЛ рдХреНрдпрд╛ рд░рд╣рд╛ рд╣реИ, рдЕрдЧрд░ рдЖрдк рджреЗрдЦ рдкрд╛ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЕрдкрдирд╛ token рд╣реИ, рдареА
00:15:22рддреЛ рдпрд╣ рдЖрдкрдХрд╛ password рдЖ рд░рд╣рд╛ рд╣реИ, рдФрд░ response рдирд╣реАрдВ рджрд┐рдЦрд╛ рд░рд╣рд╛ рд╣реИ, рдпрд╣рд╛рдБ рдкрд░, рдпрд╣рд╛рдБ рдкрд░ рдЖрдкрдХрд╛ token рдЬрдирд░реЗ рд░рд╣рд╛ рд╣реИ, рдареАрдХ рд╣реИ, рдпрд╣ рддреЛ рдХрди рд╣реИ, рдЕрдЧрд░ рдпрд╣ token рджреЗрдЦреЛрдЧреА рддреЛ рджреЗрдЦреЛрдЧреА рддреЛ рджреЗрдЦреЛ, three type рдореИрдВ рдЕрдкрдиреЗ рдкрд╛рд╕ рдпрд╣рд╛рдБ рдкрд░ рдЗрд╕ рддрд░реАрдХреЗ рд╕реЗ рдЖ рд░рд╣рд╛ рд╣реИ, рдареАрдХ рд╣реИ, рд╕реЗрдо рд╡реИрд╕реЗ рд╣реА рд╣реИ, рдЬреЛ token рдЕрдкрдиреЗ рджрд┐рдЦрд╛рдп
00:15:52рдЕрдм рдЕрдкрдиреЗ рдХреЛ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ, рдЬреЛ frontend рдХреЗ рдЕрдВрджрд░ рдЕрдкрдиреЗ рдкрд╛рд╕ рдЕрдкрдиреЗ рдХреЛ рдЖ рд░рд╣реЗ рд╣реИрдВ, рдЙрди tokens рдХреЛ рдЕрдкрди рдпрд╣рд╛рдБ рдкрд░ рдХреНрдпрд╛ рдХрд░реЗрдВрдЧреЗ, рдЙрди tokens рдХреЛ рдЕрдкрди рдпрд╣рд╛рдБ рдкрд░ store рдХрд░рд╡рд╛ рд▓реЗрдВрдЧреЗ, рдЕрдм рдХрд╣рд╛рдВ store рдХрд░рд╡рд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЗрди tokens рдХреЛ?
00:16:06рдмрддрд╛рдУ рдХрд╣рд╛рдВ рдЗрд╕реНрдЯреВрд░ рдХрд░рд╡рд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЗрди рдЯреЛрдХрдиреНрд╕ рдХреЛ рдЕрдм рдпрд╣ рдЕрдкрдиреЗ рдкрд╛рд╕ рдПрдХ рдЯреЛрдХрди рд╣реА рддреЛ рд╣реИ рддреЛ рдЯреЛрдХрди рдХреЛ рдЕрдкрди рдпрд╣рд╛рдБ рдкрд░ рдЬреЛ рднреА рдореЗрд░реЗ рдкрд╛рд╕ рдЯреЛрдХрди рдЖ рд░рд╣реЗ рд╣реИрдВ рдЙрд╕ рдЯреЛрдХрди рдХреЛ рдореИрдВ рдЖрдкрд░ рдЗрд╕реНрдЯреВрд░ рдХрд░рд╡рд╛ рджреВрдБрдЧрд╛ рдХрд┐рд╕рдХреЗ рдЕрдВрджрд░ рдЬреЛ рдЕрдкрдиреЗ рдкрд╛рд╕ рдЕрдкрдирд╛ рд▓реЛрдХрд▓ рд╕реНрдЯреВрд░реЗрдЬ рд╣реИ рддреЛ рд▓реЛрдХрд▓
00:16:36рдкреНрд░рдХреНрд╕реЗрд╕рдлреБрд▓реА рд▓реЙрдЧрд┐рди рд╣реЛ рд░рд╣рд╛ рд╣реИ, рддреЛ рдореИрдВ рдХрд╣ рд░рд╣рд╛ рд╣реВрдБ рдХрд┐ local storage рдХрд╛ use рдХрд░реЛ, dot рдЖрдкрдХреЛ рдпрд╣рд╛рдБ рдкрд░ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ, set item рдХрд░рдирд╛ рд╣реИ, рдФрд░ set item рдХрд░рдХреЗ рдЖрдкрдХреЛ рдпрд╣рд╛рдБ рдкрд░ рдПрдХ token рдирд╛рдо рдХреА рдХреА рджреЗрдиреА рд╣реИ, рдкрд╣рд▓рд╛ рддреЛ рдкрди рдХреА рджреЗрддреЗ рд╣реИрдВ рдФрд░ рджреВрд╕рд░реА рдЗрдкрди рдпрд╣рд╛рдБ рдкрд░ value рджреЗрддреЗ рд╣реИрдВ, рддреЛ value рдореИрдВ рдпрд╣рд╛рдБ рдкрд░ рдХреНрдпрд╛ рдХрд░реЛрдЧрд╛, я┐╜
00:17:06рдкрд░рдлреЗрдХреНрдЯ, рдЗрд╕реА рдХреЗ рд╕рд╛рде рдЕрдкрди рдПрдХ рдЖрдк рдпрд╣ рднреА рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдкрдиреА рдХреЛ user рдХреА ID рдХреА requirement рднреА рд░рд╣реАрдЧреА, рддреЛ рдЕрдкрди рдпрд╣рд╛рдБ рдкрд░ рдпрд╣ рдЬреЛ user.js рд╣реИ, рдпрд╣рд╛рдБ рд╕реЗ рдЕрдкрди рдХреНрдпрд╛ рдмреЗрдЬ рд░рд╣реЗ рд╣реИрдВ, рдЕрдкрдирд╛ token рддреЛ рднреАрдЬреА рд░рд╣реЗ рд╣реИрдВ, рдЕрдкрдирд╛ message рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдЗрд╕реА рдХреЗ рд╕рд╛рде рдЖрдк рдпрд╣рд╛рдБ рдкрд░ рдЬреЛ рдЖрдкрдХрд╛ user check рд▓реЗрдХреЗ рдЖ
00:17:36рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдЗрд╕ login.js рдХреЗ рдЕрдВрджрд░ рдЕрдкрдиреЗ рдкрд╛рд╕ рдпрд╣ рддреАрдиреЛрдВ рдЪреАрдЬреЗ рдЖрдиреА рдЪреАрдП, рдЬреИрд╕реЗ рдореИрдВ рдпрд╣рд╛рдБ рдкрд░ рдлрд┐рд░ рд╕реЗ рдПрдХ рдмрд╛рд░ login рдкреЗ рд╣рд┐рдЯ рдХрд░рд╡рд╛рддрд╛ рд╣реВрдБ, рдпрд╣рд╛рдБ рдкрд░ рдЕрдкрди рджреЗ рджреЗрддрд╛ рд╣реИ, рдЕрдкрдиреА email ID, рдареАрдХ рд╣реИ, рдФрд░ рдпрд╣рд╛рдБ рдкрд░ рдореИрдВ рджреЗрддрд╛ рд╣реИ рддреЛ password 12345, рдареАрдХ рд╣реИ, рдФрд░ рдореИрдВрдиреЗ рдпрд╣рд╛рдБ рдкрд░ рдХрд░рд╛ login, рддреЛ рджреЗрдЦреЛ
00:18:06рд╕рдХрддреА рд╣реИ, рдЖрдкрдХреЗ рдмрд╛рд╕, рдЖрдкрдХреА рдЬреЛ database рд╡рд╛рд▓реА ID рд╣реИ, рд╡реЛ рд╣реА unique рд╣реЛ рд╕рдХрддреА рд╣реИ, рдареАрдХ рд╣реИ, рддреЛ рдореИрдВ рдПрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдБ, рдпрд╣рд╛рдБ рдкрд░ local storage рдХреЗ рдЕрдВрджрд░ рдЙрд╕рдХреЛ рднреА store рдХрд░рд╡рд╛ рджреЗрддрд╛ рд╣реВрдБ, рдореИрдВ рдпрд╣рд╛рдБ рдкрд░ рдХрд╣рддрд╛ рд╣реВрдБ, local storage dot set item, рдореИрдВрдиреЗ рдпрд╣рд╛рдБ рдкрд░ рдмреЛрд▓рд╛ set item, рдФрд░ рдореИрдВ рдпрд╣рд╛рдБ рдкрд░ рдХрд╣рддрд╛ рд╣реВрдБ рдХрд┐ рдпрд╣ user рдХреА рдХреНрдпрд╛ рд╣реЛ рдЬрд╛рдПрдЧреА
00:18:36рдкрд░рдлреЗрдХреНрдЯ, рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм, рдЬреИрд╕реЗ рдЖрдк рдЪреЗрдХ рдХрд░реЛрдЧреЗ, рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдпрд╣рд╛рдБ рдкрд░ рдХреНрдпрд╛ рд╣реЛрдЧрд╛, рд╡реЛ ID рдпрд╣рд╛рдБ рдкрд░ рдЖрдкрдХреА store рд╣реЛ рдЬрд╛рдПрдЧреА, рдареАрдХ рд╣реИ, рдЪреЗрдХ рдХрд░реЗрдВ, рдЪрд▓реЛ рдЪреЗрдХ рдХрд░рддрд╛ рд╣реИ, рдореИрдВ рдпрд╣рд╛рдБ рдкрд░ рдЖрддрд╛ рд╣реВрдБ, рдФрд░ рдПрдХ рдмрд╛рд░ рд░рд┐рдлреНрд░реЗрд╢ рдХрд░ рд▓реЛ, рдФрд░ рдлрд┐рд░ рд╕реЗ рдЖрдк рдпрд╣рд╛рдБ рдкрд░ рдХреНрдпрд╛ рдХрд░реЛ, рд▓реЙ
00:19:06рдареАрдХ рд╣реИ, рдФрд░ рдпрд╣рд╛рдБ рдкрд░ рдЕрдкрди рдкрд╛рд╕рдлрд╝рд░ рджреЗрддреЗ рд╣реИрдВ, 12345, рдФрд░ рдореИрдВрдиреЗ рдпрд╣рд╛рдБ рдкрд░ рдХреНрдпрд╛ рдХрд░рд╛, рд▓реЙрдЧрд┐рди, рдареАрдХ рд╣реИ, рд╕рдХреНрд╕реЗрд╕реНрдлреБрд▓реА рд▓реЙрдЧрд┐рди рд╣реЛ рдЪреБрдХрд╛ рд╣реИ, рддреЛ рдпрд╣рд╛рдБ рдкрд░ рдЖрдХреЗ рдЕрдкрди рдЪреЗрдХ рдХрд░рддреЗ рд╣реИрдВ, рдЕрдкрдиреЗ application рдореЗрдВ рдЖрдХреЗ, рдФрд░ application рдореЗрдВ рдЖрдХреЗ рдЕрдкрди local storage рдореЗрдВ рдЖрдПрдВрдЧреЗ, рддреЛ рдЕрдкрдиреЗ рдкрд╛рд╕ рджреЛрдиреЛрдВ рдЪреАрдЬя┐╜
00:19:36рдареАрдХ рд╣реИ, рдпрд╣рд╛рдБ рддрдХ рдХреА рдЪреАрдЬрд╝ рдХреЗ рд▓рд┐рдП рд░рд╣реЗ, рддреЛ рдПрдХ рдмрд╛рд░ comment рдХрд░рдХреЗ рдмрддрд╛рдУ, рдпрд╣рд╛рдБ рддрдХ рдХреА рдЪреАрдЬрд╝ рдХреЗ рд▓рд┐рдП рд░рд╣реЗ, рдЗрд╕рдореЗрдВ рдХреЛрдИ doubt рдирд╣реАрдВ рд╣реИ рдХрд┐рд╕реА рдХреЛ
00:19:46рдпрд╣рд╛рдБ рддрдХ рдХреА рдЪреАрдЬрд╝ рдХреЗ рд▓рд┐рдП рд╣реИ, рддреЛ рдПрдХ рдмрд╛рд░ comment рдХрд░рдХреЗ рдмрддрд╛рдУ, рдпрд╣рд╛рдБ рддрдХ рдХреА рдЪреАрдЬрд╝ рдХреЗ рд▓рд┐рдП рд╣реИ
00:20:16рдЭрд╛рд▓рддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рд╣реИ рдХреА рдЪреАрдЬрд╝ рдХреЗ рд╕рд╡ рдорд╣рд╛рдБ рдкрд╕реНрдХрд╛ рд╕реЗред
00:20:46рдХрд┐ рдЕрдЬрд┐рд▓реА рдХрд░реЗрдВрдЧреЗ рд╕рд░ рдареАрдХ рдореИрдВ рдХрд▓ рджреЗрдЦреВрдВрдЧреА рдЖрдЬ рдореЗрд░рд╛ рдЗрдВрдЯреНрд░рд┐рд╡реА рдУрдирд▓реА рдПрдЪрд╛ рд░рд╛рдЙрдВрдб рд╣реБрдЖ рдЬреЛ рдареАрдХ рд╣реИ рдХреЛрдИ рдЗрд╢реНрдпреВ рдирд╣реАрдВ рд╣реИ рдЖрдк рдмрддрд╛рдирд╛ рдХреИрд╕рд╛ рдЧрдпрд╛ рдЖрдкрдХрд╛ рдЗрдВрдЯреНрд░рд┐рд╡реНрдпреВ рдПрдХрд░ рд╕реЗрд▓реЗрдХреНрд╢рди рд╣реЛ рдЪреБрдХрд╛ рд╣реИ рддреЛ рд╕рд░рд╕реЗ рдмрд╛рдж рдЬреБрд░реВрд░ рдХрд░рдирд╛ рдареАрдХ рд╣реИ
00:21:10рдХреНрдпреВрдВрдХрд┐ рдЕрдкрди рдЕрдкрдирд╛ рдЬреЛ рдбреЗрдЯрд╛ рдЖ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдЕрдкрдирд╛
00:21:29рдпрд╛ рдкреЗ two days рдЬреЛ рднреА рдЖрдк рдЙрд╕рдореЗрдВ limit рд▓рдЧрд╛ рд░рд╣ рд░рд╣рд╛ рд╣реВрдБ рдЙрд╕ рд▓рд┐рдорд┐рдЯ рдореЗрдВ рд╡реЛ even
00:21:32expire рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ рдЕрдм рдЖрдкрдХреЛ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ рдЕрдм рдЬреИрд╕реЗ login рдХрд░рдиреЗ рдЖ рд░рд╣реЗ рд╣реЛ рдЬреИрд╕реЗ
00:21:50log-in рдХрд░рдиреЗ рдЖ рд░рд╣реЗ рд╣реЛ login рдХрд┐ya рдЖрдкрдиреЗ рдФрд░ рдЖрдкрдб рдХреЛ access рдХрд░ рд░рд╣реЛрдЧреЛ рддреЛ рдЖрдк рдпрд╣рд╛рдВ
00:21:54рдкрд░ рдХрд╛рд░реНрдЯ рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд░реЛрдЧреЗ, рддреЛ рдХрд╛рд░реНрдЯ рдХреЛ рдЖрдк рдПрдХреНрд╕реЗрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реЛ, рдЬрд┐рддрдирд╛ рдбреЗрдЯрд╛ рдЖрдкрдиреЗ рд╕реНрдЪреЛрд░ рдХрд░рд╡рд╛ рд░рд╣рд╛ рд╣реИ, рдЕрдкрдиреА рдЖрдИрдбреА рдХреЗ рд╡реЗрд╕реЗрд╕ рдкрд░, рдЙрд╕рдХреЗ рд╕рд╛рде рдЖрдкрдиреЗ рдкрд╛рд╕ рдЯреЛрдХрдиреНрд╕ рднреА рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП рд╣реИ, рдЕрдм рдпреЗ рдХрд╛рдо рдХреИрд╕реЗ рдХрд░реЛрдЧреЗ, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдмреИрдХ рдПрдВрдб рдореЗрдВ рд╡реЗрд░рд┐рдлрд╛рдИ рдХрд░рд╡
00:22:24рд╣реИ рдпрд╛ рдирд╣реАрдВ рд╣реИ рдпреВрдЬрд░ рдпрд╛ рдлрд┐рд░ рд╡реЛ рдмрд┐рдирд╛ рд▓реЛрдЧ рдЗрди рдХрд░реЗ рдЖ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рдЙрд╕рдХреЛ рдХреБрдЫ рднреА рдПрдХреНрд╕реЗрд╕ рдирд╣реАрдВ рдорд┐рд▓реЗрдЧрд╛, рддреЛ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЙрд╕рдХреЛ рдХреНрдпрд╛ рдХрд░рдирд╛ рдкрдбрд╝реЗрдЧрд╛, рд▓реЛрдЧ рдЗрди рдХрд░рдирд╛ рдкрдбрд╝реЗрдЧрд╛, рддреЛ рдЕрдкрдиреЗ рдмреИрдХ рдПрдВрдб рдХреЗ рдЕрдВрджрд░ рдпрд╣рд╛рдБ рдкрд░ рдПрдХ рдорд┐рдбрд▓ рд╡реЗрд░ рд╕рд╛рдЗрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╣реИ
00:22:54рдареАрдХ рд╣реИ, рддреЛ рдЬрд▓реНрджреА рд╕реЗ рдореИрдВ рдпрд╣рд╛рдБ рдкрд░ рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реВрдБ, рд░рд┐рдХреНрд╡рд╛рдпрд░ рдХрд░ рд▓реЗрддрд╛ рд╣реВрдБ, рдФрд░ рдХрд┐рд╕рдХреЛ рд░рд┐рдХреНрд╡рд╛рдпрд░ рдХрд░ рд▓реЗрддрд╛ рд╣реВрдБ, рдЕрдкрдиреЗ рдЬреЗрд╕рди рд╡реЗрдм рдЯреЛрдХрди рдХреЛ рдореИрдВ рдпрд╣рд╛рдБ рдкрд░ рд░рд┐рдХреНрд╡рд╛рдпрд░ рдХрд░ рд▓реЗрддрд╛ рд╣реВрдБ, рдареАрдХ рд╣реИ, рдФрд░ рдЙрд╕рдХреЛ рдЕрдкрди рдпрд╣рд╛рдБ рдпрд╣рд╛рдБ рдкрд░ рдПрдХ рд╡реИрд░реАрд╡рд▓ рдореЗрдВ рдЕрд╕рд╛рдЗрди рдХрд░ рджреЗрддрд╛ рд╣
00:23:24рдмрдирд╛рдиреЗ рд╡рд╛рд▓рд╛ рд╣реВрдБ рдФрд░ рдЙрд╕ function рдХреЛ
00:23:26рдЕрдкрди рдпрд╣рд╛рдБ рдкрд░ рдХрд╣ рд░рд╣реЗ рд╣реИ рдЕрдкрдирд╛ middleware рдореЗрдВ
00:23:29рддреАрди рдЕрдкрдиреЗ рдкрд╛рд╕ parameter рдЖрддреЗ рд╣реИ
00:23:30request, response рдФрд░ next
00:23:32next рдХрдм рдХрд╛рдо рдЖрддрд╛ рд╣реИ рдЕрдЧрд░ рдЖрдкрдиреЗ рджреЗрдЦрд╛ рд╣реЛ
00:23:34рддреЛ рдЕрдкрдиреЗ рдореБрд▓реНрдЯрд░ рдмрдирд╛рдпрд╛ рдерд╛ рдЙрд╕ рдореБрд▓реНрдЯрд░ рдХреЗ рдЕрдВрджрд░
00:23:37рднреА рдЕрдкрдиреЗ рдкрд╛рд╕ рддреАрди parameter рдЕрдкрдиреЗ рдЖ рд░рд╣реЗ рдереЗ
00:23:39рдЕрдкрдиреЗ рдЗрд╕рдореЗ рдиреЗрдХреНрд╕ рд╡рд╛рд▓рд╛ рдпреВрдЬ рдирд╣реАрдВ рдХрд░рд╛ рдЧрдпрд╛
00:23:42рдореБрд▓реНрдЯрд░ рдореЗрдВ рдпреВрдЬ рдирд╣реАрдВ рдХрд░рд╛ рд░рд╣рд╛
00:23:43рддреЛ рджреЗрдЦреЛ рдпрд╣рд╛рдБ рдкрд░ first parameter request рдЖрддрд╛ рд╣реИ
00:23:46рджреВрд╕рд░рд╛ response рдЖрддрд╛ рд╣реВрдБ рддреАрд╕рд░рд╛ next рдЖрддрд╛ рд╣реИ
00:23:48next рдХрдм рдЬрдм рд╕рд╛рд░реА рдЪреАрдЬреЗ validate рд╣реЛ рд░рд╣реА рд╣реИ
00:23:50рддреЛ рдЖрдк рдЙрд╕рдХреЛ next рднреАрдЬ рд╕рдХрддреЗ рд╣реЛ рдорддрд▓рдм рдЙрд╕рдХреЛ
00:23:52controller рдХреЗ рдЙрдкрд░ рднреАрдЬ рд╕рдХрддреЗ рд╣реЛ
00:23:53middleware рдХрд╣рд╛рдВ set рдХрд░рддреЗ рд╣реИ рдЕрдкрди
00:23:55рдЕрдкрдиреА рдЬреЛ sttp request рд╣реИ рдФрд░ рдЬреЛ рдЕрдкрдирд╛
00:23:57controller рд╣реИ рдЙрд╕рдХреА рдмреАрдЪ рдореЗрдВ рдЕрдкрди set рдХрд░рддреЗ рд╣реИ
00:24:00рдкрд╣рд▓реЗ рд╡реЛ check рдХрд░реЗрдЧрд╛ рдХрд┐рд╕рдХреЛ sttp request
00:24:02hit рд╣реБрдИ рдлрд┐рд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╡реЛ middleware рдкрд░ рдЬрд╛рдПрдЧрд╛
00:24:04check рдХрд░реЗрдЧрд╛ рд╕рд╛рд░реА рдЪреАрдЬреЗ verify рдХрд░реЗрдЧрд╛
00:24:06рдЕрдЧрд░ verify рд╣реБрдИ рд╣реИ рддреЛ рд╡реЛ next рдХрд░реЗрдЧрд╛
00:24:08рдФрд░ рдХрд┐рд╕ рдкрд░ рдЬрд╛рдПрдЧрд╛ controller
00:24:09controller рд╡рд╛рд▓рд╛ рдХреБрд▓рд╛ logic рдЬреЛ рд▓рд┐рдЦрд╛ рд╣реИ
00:24:11рд╡реЛ apply рд╣реБрдИ рдЕрдкрдирд╛ рддреЛ рдЕрдм рдЕрдкрди
00:24:14рдпрд╣рд╛рдВ рдкрд░
00:24:14рдПрдХ const рдореИрдВ рдпрд╣рд╛рдВ рдкрд░ рдХрд░рддрд╛ рд╣реВрдБ
00:24:18auth рдХрд░рдХреЗ рдЕрдкрди
00:24:20рдпрд╣рд╛рдВ рдкрд░
00:24:20рдХреНрдпрд╛ рдордирд╛ рджреЗрддреЗ рд╣реИрдВ рдЕрдкрдирд╛ рдПрдХ function рдареАрдХ рд╣реИ
00:24:23рддреЛ рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рдкрд░ рдПрдХ auth рдХрд░рдХреЗ
00:24:25рдпрд╣рд╛рдВрдкрд░ рдЕрдкрдирд╛ рдПрдХ function рдЖ рджрд┐рдпрд╛
00:24:26рдареАрдХ рд╣реИ рдЕрдм рдЗрд╕ function
00:24:29рдХреЗ рдЕрдВрджрд░ рдЕрдкрдиреЗ рдкрд╛рд╕ рдХреНрдпрд╛ рдЖ рд░рд╣рд╛ рд╣реИ рдПрдХ рддреЛ request рд╣реИ
00:24:31рджреВрд╕рд░рд╛ рдЕрдкрдиреЗ рдкрд╛рд╕ response рд╣реИ
00:24:33рдФрд░ рддреАрд╕рд░рд╛ рдЕрдкрди рдпрд╣рд╛рдБ рдкрд░ рдХрд╣ рджреЗрддреЗ рд╣реИрдВ рдЕрдкрдирд╛
00:24:35next рдЕрдЧрд░ рд╕рдм verify рд╣реЛрддрд╛ рд╣реИ
00:24:37рддреЛ рдЕрдкрди рдЙрд╕рдХреЛ рдХреНрдпрд╛ рдХрд░реЗрдВрдЧреЗ next рдХрд░ рджреЗрдВрдЧреЗ
00:24:39рдЕрдм request рдХреЗ рдЕрдВрджрд░
00:24:42рдЕрдкрдиреЗ рдкрд╛рд╕ рдЬреЛ рдЕрдкрдирд╛ header рд╣реИ
00:24:44request рдХреЗ рдЕрдВрджрд░ рдЬреЛ рдЕрдкрдирд╛ header рд╣реИ
00:24:47рдЙрд╕реА рдХреЗ рдЕрдВрджрд░ рдЕрдкрдиреЗ рдкрд╛рд╕ рдпрд╣рд╛рдБ рдкрд░ рдЕрдкрдирд╛ authorization рдЖрдПрдЧрд╛ рдареАрдХ рд╣реИ рддреЛ рдореИрдВ рдпрд╣рд╛рдБ рдкрд░ рд▓рд┐рдЦ рджреЗрддрд╛ рд╣реВрдБ
00:24:53authorization рдареАрдХ рд╣реИ рдЕрдм рдЗрд╕ authorization рдХреЛ рдЕрдкрди рдпрд╣рд╛рдБ рдкрд░ рдХрд╣рддреЗ рд╣реИ рдЕрдкрдиреЗ header рдХреЗ рдЕрджрд░ рдЕрдкрдирд╛ authorization рдЖрдПрдЧрд╛ рдЬрд┐рд╕рдХреЛ рдЕрдкрди рдпрд╣рд╛рдБ рдкрд░ access рдХрд░реЗрдВрдЧреЗ
00:25:07рдЕрдм рдпрд╣ рдХрд╣рд╛рдБ рд╕реЗ рдЖрдПрдЧрд╛ рдпрд╣рд╛рдБ рдЖрдПрдЧрд╛ рдЖрдкрдХреЗ рдЬреЛ рдЖрдк sttp request рд╣рд┐рдЯ рдХрд░реЛрдЧреЗ рд╡рд╣рд╛рдБ рд╕реЗ рд╣реА authorization рдЖрдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ рдареАрдХ рд╣реИ рдЬрд┐рд╕ token рдХреА рдЕрдкрди рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИ рд╡реЛ рдЕрдкрдиреЗ рдкрд╛рд╕ рдпрд╣рд╛рдБ рдкрд░ рдЖрдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ рдареАрдХ рд╣реИ рддреЛ рдпрд╣рд╛рдБ рдкрд░ рдореИрдВ рдЗрд╕рдХреЛ рдПрдХ variable рдореИрдВ sign рдХрд░ рджреЗрддрд╛ рд╣реВрдБ рдФрд░ рдореИрдВ рдпрд╣рд╛рдБ рдкрд░ рдЗрд╕рдХреЛ рдХрд░ рджреЗрддрд╛ рд╣реВя┐╜
00:25:37рдареАрдХ рд╣реИ рдпрд╣реА рджрд┐рдЦреЗрдЧрд╛ рдЖрдкрдХреЛ subject рдХреЗ рд▓рд┐рдЦрд╛рд╡рд╛ рдХрд┐ рдЕрдкрди рдЗрд╕рдХреЛ bearer header рдХрд░рддреЗ рд╣реИ рдФрд░ рдпрд╣ рдХреНрдпреЛрдВ use рдХрд░ рд░рд╣рд╛ рд╣реВрдБ рдХреНрдпреЛрдВрдХрд┐ рдЙрд╕рдХреЗ рдЕрдВрджрд░ рд╕реЗ рд╕рд┐рд░реНрдл рдореЗрдВ рдХреЛ payload рдЪреАрдП рдореЗрдВ рдХреЛ complete рдирд╣реАрдВ рдЪреАрдП рдЕрдкрдирд╛ token рдореЗрдВ рдХреЛ рд╕рд┐рд░реНрдл рдЙрд╕рдореЗрдВ рд╕реЗ payload рдЪреАрдП рдЪрд▓рд┐рдП рдЕрдкрди рдпрд╣рд╛рдБ рдкрд░ рдЬреЛ рдЕрдкрдиреЗ header рдХреЗ рдЕрдВрджрд░ authorization рдЖрдПрдЧрд╛ рдЕрдм рдпрд╣ authorization рдХ
00:26:07рдореЗрдВ рд╕реЗ рдирд┐рдХрд╛рд▓реВрдБрдЧрд╛ request.header.authorization рдХреНрдпреЛрдВрдХрд┐ рдЙрд╕реА рдХреЗ рдЕрдВрджрд░ рдЖрдкрдХреА tokens рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╣реИрдВ рдареАрдХ рд╣реИ рддреЛ рд╡реЛ рдЪреАрдЬрд╝ рдЕрдкрдиреЗ рдЖрдкрдиреЗ рдирд┐рдХрд╛рд▓ рд▓реА рдЕрдм рдЙрд╕рдХреЗ basis рдкреЗ рдЕрдкрдиреЗ рдпрд╣рд╛рдБ рдкрд░ рд▓рдЧрд╛рдПрдВрдЧреЗ рдЕрдкрдиреА condition рдареАрдХ рд╣реИ рдПрдХ condition рдореЗрдВ рдпрд╣рд╛рдБ рдкрд░ рдмрдирд╛рддрд╛ рд╣реВрдВ рдПрдХ рдмрд╛рд░ рдЕрдкрди рдЪреЗрдХ рдХрд░реА рд▓реЗрддреЗ рд╣реИрдВ рдЗрд╕рдиреЗ рдХреНрдпрд╛ рджреЗ я┐╜
00:26:37рдХреНрдпрд╛ рд╣реИ
00:27:07рдпрд╣ рддреЛ рдпрд╣рд╛рдВ рдкрд░ рдЗрд╕рдиреЗ token generate рдХрд░рд╡рд╛рдП рдЙрд╕рдХреЗ рдмрд╛рдж рдпрд╣рд╛рдВ рдкрд░ рдЕрдЧрд░ рдЖрдк рджреЗрдЦреЛрдЧреЗ рддреЛ рдпрд╣ verify рдХрд░рд╡рд╛ рд░рд╣рд╛ рд╣реИ рдпрд╣рд╛рдВ рдкрд░ рдареАрдХ рд╣реИ рдкрд░ рдЕрдкрдиреЗ рддрд░реАрдХреЗ рд╕реЗ рдХрд░ рд▓реЗрддреЗ рдХреЛрдИ рд╢реБрдиреА рд╣реИ рдпрд╣рд╛рдВ рдкрд░ рджреЗрдЦреЛ рдореИрдВрдиреЗ if condition рд▓рдЧрд╛рдИ рдЕрдм рдореИрдВ рдмреЛрд▓рддрд╛ рд╣реВрдБ рдХрд┐ рдЕрдЧрд░ рдпрд╣ рдирд╣реАрдВ рд╣реИ рдЕрдкрдиреЗ рдкрд╛рд╕ рдЬреЛ рдЕрдЧрд░ рдЕрдкрдирд╛ рд╡реАрд░
00:27:37рд▓рдЧрд╛ рддреЗ рдЙрд╕реА рдХреЗ рд╕рд╛рде рдореИрдВ рдХрд╣рд▓реЗрддрд╛ рд╣реВрдВ рдХрд┐ рдЬреЛ рдЕрдкрдирд╛ рдпрд╣рд╛рдВ рдкрд░ рдмрд┐рдпрд░ рд╣реИрдбрд░ рдЕрдкрди рдпрд╣рд╛рдБ рдкрд░ рд▓реЗ рд░рд╣реЗ рд╡рд╣ рдЕрдкрдиреЗ рдкрд╛рд╕ start рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
00:27:46рд╣реИ start with
00:27:48рдареАрдХ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЕрдкрди starts with
00:27:50рдЕрдкрди рдпрд╣рд╛рдБ рдкрд░ рдХрд╣рд╛ рдЬрд╝рд╛рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЕрдкрди
00:27:52рдпрд╣рд╛рдБ рдкрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдПрдХ string рднреА
00:27:54рднреА рднреЗрдЬрдиреЗ рд╡рд╛рд▓реЗ рд╣реИрдВ рдЪреАрдХ рд╣реИ рдФрд░ рдЙрд╕
00:27:56string рдХреЗ рдЕрдВрджрд░ рдЬреЛ рдореИрдВ рд▓рд┐рдЦреВрдБ рд╣реВрдБ рд╣реВрдБ рд╡реЛ рдореИрдВ
00:27:58рдпрд╣рд╛рдБ рдкрд░ рд▓рд┐рдЦреВрдБ рд╣реВрдБ рдЕрдкрдирд╛ рдкреАрд░рд░ рдареАрдХ рд╣реИ
00:28:00рдпрд╣ рдЕрдкрдиреА string рдЕрдкрди рднреЗрдЬрдиреЗ рд╡рд╛рд▓реЗ рд╣реИ
00:28:02рддреЛ рдпрд╣ рднреА рд╣реЛрдирд╛ рдЬрд░реВрд░реА рд╣реИ
00:28:04рджреЛрдиреЛрдВ condition true рд╣реЛрдЧреА рддрдм рд╣реА рдЕрдкрдиреЗ рдХреЛ рдХреНрдпрд╛ рдХрд░реЗрдЧрд╛
00:28:06рдорддрд▓рдм рджреЛрдиреЛрдВ рдореЗрдВ рд╕реЗ
00:28:08condition true рд╣реЛрдирд╛ рдЬрд░реВрд░реА рд╣реИ
00:28:09рддреЛ рдпрд╣рд╛рдБ рдкрд░ рдЕрдкрдиреА рдпрд╣ рд▓рдЧрд╛ рджрд┐рдпрд╛
00:28:11рддреЛ рдпрд╣ рдХреНрдпрд╛ рдХрд░реЗрдЧрд╛ рдЕрдЧрд░ рдпрд╣ рдХрд╛рдо рд╣реЛрддрд╛ рд╣реИ
00:28:14рддреЛ рдЖрдкрдХреЛ рдпрд╣рд╛рдБ рдкрд░ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ, return рдХрд░рдирд╛ рд╣реИ, рдФрд░ return рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ, response.status рдЕрдкрди рдпрд╣рд╛рдБ рдкрд░ рдмреЗрдЬ рджреЗрддреЗ рд╣реИрдВ, рдЕрдкрдирд╛ status, рдФрд░ status рдореИрдВ рдпрд╣рд╛рдБ рдкрд░ рдмреЗрдЬ рджреЗрддрд╛ рд╣реВрдБ, 401, рдареАрдХ рд╣реИ, 401 рдЕрдкрдиреЗ рдкрд╛рд╕ рдпрд╣рд╛рдБ рдкрд░ рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рднреА рдЕрдкрдиреЗ рдкрд╛рд╕ token рд╣реИ, рдпрд╛ рдлрд┐рд░ authentication рдХреА рдЬреЛ рдЕрдкрдиреЗ рдкрд╛рд╕ status рд╣реЛрддрд╛ рд╣реИ, рдЙрд╕рдХреЗ рд▓рд┐рдП рдЕ
00:28:44рдФрд░ message рдореЗрдВ рдореИрдВ рдпрд╣рд╛рдБ рдкрд░ рднреАрдЬрд╝ рджреВрдБрдБрдЧрд╛ рдЪреВрдбрд╝реА рдЕрдкрдиреЗ рдХреЛ рджрд┐рдЦрд╛рдирд╛ рдЬрд┐рд╕реЗ рдореИрдВ рдпрд╣рд╛рдБ рдкрд░ рдХрд╣рддрд╛ рд╣реВрдБ
00:28:50access denied рдареАрдХ рд╣реИ access denied рдФрд░ рдЗрд╕рдХреЗ рдЕрдВрджрд░ рдЕрдкрди рдХрд╣рддреЗ рдереЗ no token provide
00:28:57no token provided рдареАрдХ рд╣реИ рдкрд╣рд▓рд╛ рдХрд╛рдо рддреЛ рдпрд╣ рдХрд┐ рдЕрдЧрд░ рдЕрдкрдиреЗ рдкрд╛рд╕ token рд╣реА рдирд╣реАрдВ рдЖ рд░рд╣реЗ рддреЛ рдЕрдкрди рдкрд╣рд▓рд╛ рддреЛ рдпрд╣ рдХрд╣реЗрдВрдЧреЗ
00:29:12рдХрд┐ no token provided рдареАрдХ рд╣реИ рдФрд░ рдЕрдЧрд░ token рдЖ рдЧрдП рддреЛ рдЕрдЧрд░ token рдЖ рдЧрдП рддреЛ рдЖрдкрдХреЛ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ
00:29:19рдЬреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдпрд╣рд╛рдБ рдкрд░ рдЖрдкрдХрд╛ bear header рдЕрдкрди рдпрд╣рд╛рдБ рдкрд░ рд▓реЗ рд░рд╣реЗ рдЙрд╕рдореЗрдВ рд╕реЗ dot рдХрд░рдХреЗ рдЕрдкрди split рд▓рдЧрд╛рдПрдВрдЧреЗ
00:29:25рдЕрдм рдпрд╣ split method рдХреНрдпреЛрдВ рд▓рдЧрд╛ рд░рд╣рд╛ рд╣реВрдБ рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░рдХреЛ рдЙрд╕ token рдореЗрдВ рд╕реЗ рд╕рд┐рд░реНрдл рдХреНрдпрд╛ рдЪреАрдП рдкреЗрд▓реЛрдб рдЪреАрдП рдФрд░ рдкреЗрд▓реЛрдб рдЬреЛ рд╣реИ рд╡реЛ рдХрд╣рд╛рдБ рдкрд░ рдмрдиреЗрдЧрд╛
00:29:32рдкреЗрд▓реЛрдб рдХреМрди рд╕реЗ index рдкрд░ рдЖ рд░рд╣рд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдЖрдк рдпрд╣рд╛рдБ рдкрд░ рджреЗрдЦреЛрдЧреЗ рддреЛ рд╡реЛ one index рдкрд░ рдЖрдПрдЧрд╛ рдЕрдкрдиреЗ рдкрд╛рд╕
00:29:37рдХреМрди рд╕реЗ index рдкрд░ рдЖрдПрдЧрд╛ рдЕрдкрдиреЗ рдкрд╛рд╕ one index рдкрд░ рдЖрдПрдЧрд╛ рдХреИрд╕реЗ рджреЗрдЦреЛ рдпрд╣рд╛рдБ рдкрд░ рдпрд╣рд╛рдБ рдФрд░
00:29:49JWT рдкрд░ рдмрдирд╛рддреЗ рдПрдХ рдмрд╛рд░ рдХреЗ рд▓рд┐рдП рдпрд╛ рдлрд┐рд░ tokens рдпрд╣рд╛рдБ рдкрд░ рднреА рдмрдирд╛рдП рдареАрдХ рд╣реИ рдЕрдЧрд░ рдЖрдк рдЗрд╕ tokens рдХреЛ рджреЗрдЦреЛрдЧреЗ рддреЛ рддреЛ рдпрд╣рд╛рдБ рдкрд░ zero рдкрд░ рдпрд╣ рд╣реИ рдЕрдкрдиреЗ рдХреЛ рдЗрд╕рдореЗрдВ рд╕реЗ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ рдЕрдкрдирд╛ рдкреЗрд▓реЛрдб рдЕрдкрдиреЗ рдХреЛ рдпрд╣рд╛рдБ рдкрд░ рдЪреАрдП рдареАрдХ рд╣реИ рдпрд╣ рдкреЗрд▓реЛрдб рдЕрдкрдиреЗ рдХреЛ рдпрд╣рд╛рдБ рдкрд░ рдирд┐рдХрд╛рд▓рдирд╛ рд╣реИ рдФрд░ рдпрд╣ рдХреМрди рд╕реЗ
00:30:19рдареАрдХ рд╣реИ, рдХреЙрд╕реНрдЯ рдХрд░рдХреЗ рдЕрдкрди рдпрд╣рд╛рдкрд░ рдХреНрдпрд╛ рдХрд╣ рджреЗрддреЗ рд╣реИрдВ, рдЕрдкрдиреЗ рдЯреЛрдХрди рдЕрдкрди рдпрд╣рд╛рдкрд░ рдХрд╣ рджреЗрддреЗ рд╣реИрдВ, рдЕрдм рдпрд╣рд╛рдБ рдкрд░ рдЖрдкрдХреЛ рд╕рд┐рд░реНрдл verify рдХрд░рд╡рд╛рдирд╛ рд╣реИ, рдХрд┐ рдЬреЛ tokens рдЕрдкрдиреЗ рдкрд╛рд╕ рдЖ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдЬреЛ login рдХрд░рддреЗ time token generate рд╣реБрдЖ рд╣реИ, рд╡реЛ рдЕрдЧрд░ same рд╣реИ, рддреЛ login рдХрд░рд╡рд╛ рджреЛ, рдФрд░ рдЕрдЧрд░ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЙрд╕рдХреЛ рджрд┐рдЦрд╛ рджреЛ, рдХ
00:30:49token, рдПрдХ рдХрд╛рдо рдХрд░реЗрдВ, рдЗрд╕рдХреЛ directly рдордд рд▓рд┐рдЦреЛ, try catch рд▓рдЧрд╛ рддреЛ рдЗрд╕рдХреЗ рдЕрдкрдиреЗ, try catch рд▓рдЧрд╛ рд╣реИ, рддреЛ error handling рднреА open рдХрд░ рд▓реЗрддреЗ рд╣реИрдВ, рдФрд░ рдореИрдВ рдпрд╣рд╛рдБ рдкрд░ рдХрд╣рддрд╛ рд╣реВрдБ, рдХрд┐ JWT рдЬреЛ рд╣реИ, рдЕрдкрдиреЗ require рдХрд░рд╛ рд╣реИ, рдЙрд╕рдореЗрдВ рд╕реЗ dot рдХрд░рдХреЗ рдореИрдВ рдпрд╣рд╛рдБ рдкрд░ рдЕрдкрдирд╛ method рдирд┐рдХрд╛рд▓реВрдБрдЧрд╛, рдХреМрди рд╕рд╛ verify рд╡рд╛рд▓рд╛, JWT рдХреЛ рдЕрдкрдиреЗ рдХрд░рддреЛ рд░рдЧрд╛ рдЙрдкрд░,
00:31:09Suggestion рдирд╣реАрдВ рджреЗ рд░рд╣рд╛ рд░рд╣рд╛ рд╣реИ, JWT dot verify, рдХреЛрдп рдмрд╛рдд рдирд╣реАрдВ, Suggestion рдирд╣реАрдВ рджреЗ рд░рд╣рд╛ рддреЛ рдЕрдкрдиреЗ рджреЛ рдкрддрд╛ рд╣реИ, рдпрд╣рд╛рдБ рдкрд░ verify рдореИрдВ рдХрд░рд╡рд╛ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ verify рдХрд┐рд╕рдХреЛ рдХрд░рд╡рд╛ рд░рд╣рд╛ рд╣реВрдВ, рдЬреЛ рдореАрд░реЗ рдкрд╛рд╕ token рдЖ рд░рд╣рд╛ рд╣реИ,
00:31:28рдкреНрд░реЙрд╕реЗрд╕.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.env.
00:31:58рдиреЗ first verify рдХрд░рд╛рдпрд╛ рдЕрдЧрд░ verify рд╣реИ рдорддрд▓рдм рдЬреЛ token рдпрд╣рд╛рдБ рдкрд░ рдЖ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЬреЛ login рдХреЗ time token рд╣реИ рд╡реЛ same рд╣реИ рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╡реЛ рдпрд╣рд╛рдБ рдкрд░ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдЕрдкрдирд╛ рдареАрдХ рд╣реИ рдЕрдм verify рд╣реЛ рд░рд╣рд╛ рд╣реИ рддреЛ рдЗрд╕рдХреЗ basis рдкреЗ рдЖрдкрдХреЛ рдпрд╣рд╛рдБ рдкрд░ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ рдЬреЛ рдЕрдкрдирд╛ request рд╣реИ рдЙрд╕рдХреЛ рдореИрдВ рдпрд╣рд╛рдБ рдкрд░ рдмреБрд▓рд╛рддрд╛ рд╣реВрдБ рдФрд░ рдЙрд╕ request рдореЗрдВ рд╕реЗ dot рдХрд░рдХреЗ рдЕ
00:32:28рдорддрд▓рдм рдЕрдЧрд░ verify рд╣реЛ рдЪреБрдХрд╛ рд╣реИ рддреЛ рдЖрдкрдХреЛ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ рдЙрд╕рдХреЛ next рдХрд░рдирд╛ рд╣реИ рдорддрд▓рдм controller рдХреЗ рдЙрдкрд░ рдмреЗрдЬрдирд╛ рд╣реИ рдФрд░ рдЕрдЧрд░ рдирд╣реАрдВ рд╣реБрдЖ рддреЛ рд╡рд╣ рдпрд╣ рдЖрдкрдХреЛ рдпрд╣рд╛рдБ рдкрд░ return рдХрд░рдХреЗ рдХреНрдпрд╛ рдХрд░рдирд╛ error рджреЗрдиреА рд╣реИ рдЖрдк рдмреЛрд▓ рджреЛрдЧреЗ response dot status рдФрд░ рдЙрд╕рдХреЗ рдЕрдВрджрд░ рдЖрдк рдпрд╣рд╛рдБ рдкрд░ рдмреЛрд▓ рджреЛрдЧреЗ 403 рдХреА error рджреЗрддреЗ рд╣реИ рдкрди 403 рдХреНрдпреЛрдВрдХрд┐ tokens expire рд╣реЛ рдЧ
00:32:58рдФрд░ рд╡реЛ рдХреНрдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ рд╡реЛ рдореИрдВ рдХрд╣ рджреЗрддрд╛ рд╣реВрдБ рдХрд┐ рдЬреЛ token рд╣реИ рд╡реЛ is invalid рдпрд╛ рдлрд┐рд░ expired рдареАрдХ рд╣реИ invalid рдпрд╛ рдлрд┐рд░ expired рд╣реИ рдареАрдХ рд╣реИ рдмрд╕ рдЗрддрдирд╛ рд╕рд╛ рдХрд╛рдо рдЕрдкрдиреЗ рдХреЛ рд╣реЛрдирд╛ рд╣реИ рдпрд╣ auth рд╡рд╛рд▓рд╛ рдЕрдкрдиреЗ рдпрд╣рд╛рдБ рдкрд░ create рдХрд░рд╛ рд╣реИ рдФрд░ рдЗрд╕ auth рдХреЛ рдпрд╣рд╛рдБ рдкрд░ рдХреНрдпрд╛ рдХрд░ рджреЛ рдпрд╣рд╛рдБ рд╕реЗ рдЖрдк рдХрд░ рджреЛ module dot to exports рдФрд░ рдЕрдкрди рдпрд╣рд╛рдБ рдкрд░ pass рдХрд░ рджреЗрддреЗ рд╣реИрдВ рдЕрдк
00:33:28auth рдХреЛ рдЪреАрдХ рд╣реИ рдЕрдм рдЗрд╕рдХреЛ рдЕрдкрди require рдХрд░реЗрдВрдЧреЗ then use рдХрд░реЗрдВрдЧреЗ рдЗрд╕ token рдХреЛ рдорддрд▓рдм рдпрд╣ рдЬреЛ auth middleware рдмрдирд╛рдП рдЗрд╕ auth middleware рдХреЛ рдореИрдВ рдпрд╣рд╛рдБ рдкрд░ use рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реВрдБ рдпрд╣рд╛рдБ рддрдХ рдХреА рдЪреАрдЬ рдХреЗ рд▓рд┐рдП рд░рд╣реЗ рддреЛ рдПрдХ рдмрд╛рд░ comment рдХрд░рдХреЗ рдмрддрд╛рдУ yes sir рдпрд╣рд╛рдБ рддрдХ рдХреА рдЪреАрдЬ рдХреЗ рд▓рд┐рдП рд░рд╣реЗ рдЗрд╕рдореЗрдВ рдХреЛрдИ doubt рдирд╣реАрдВ рдпрд╣рд╛рдБ рддрдХ рдХреА рдЪреАрдЬ рдХреЗ рд▓рд┐рдП рд░рд╣реЗ
00:33:58рдХреАрдЬ рдХреАрдЬ рдХреА рдЪреАрдЬ рдХреАрдЬ рдХрд░реЗрдВрдЧреЗ рд░рд╣реЗ рд░рд╣реЗ рд░рд╣реЗ рд╣реИрдВ рдпрд╣рд╛рдБ рддрдХ рдХреАрдЬрд╝ рдЙреЗрдбрд╝реЗ рд╣реИрдВ
00:34:28рд╕рд░ рдпреЗ рд╕рд░ рдпрд╛рдж рдХреИрд╕реЗ рд░рдЦреЗрдВрдЧреЗ
00:34:40рдпреЗ рдЪреАрдЬрд╝реЗ рдЖрдкрдХреЛ рдпрд╛рдж рдирд╣реАрдВ рд░рдЦрдиреА
00:34:42рдореИрдВ рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рднреА рдмрддрд╛рд░рд╛рдК рд╣реВрдБ
00:34:43рдЬреИрд╕реЗ рдЕрдкрдиреЗ рдореВрд▓реНрдЯрд░ рдХрд╛ рд╕реЗрдЯ рдУ ьЮЕ рджреЗрдХрд╛ рдерд╛
00:34:45рдпреЗ рд╕рд╛рд░реЗ рдкреИрдХреЗрдЬреЗ рд╕реЗ
00:34:46рдЗрдирдХрд╛ рд╕реЗрдЯ рдЕрдк рдЖрдкрдХреЛ рдЖрдирд╛ рдЪреАрдЬрд╝ рдП
00:34:48рдХрд┐ рд╕реЗрдЯ рдЖрдк рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ
00:34:50рдорддрд▓рдм рдЖрдкрдХреЛ рд╣рд░ рдПрдХ рдЪреАрдЬ рдкрддрд╛рдУ рдирд╣реАрдВ рдЪреАрдЬ рд╣реИ
00:34:52рдпрд╛рдж рдирд╣реАрдВ рд░рд╣реЗ рддреЛ рднреА рдХреЛрдИ рджрд┐рдХреНрдХрдд рдирд╣реАрдВ рд╣реИ
00:34:54рдЖрдк рдХреЙрдкреА рдХрд░рдХреЗ рдкреЗрд╕реНрдЯ рдХрд░рдХреЗ рдпреВрдЬрд╝ рдХрд░ рд░рд╣реЗ рд╣реВрдВ
00:34:56рдЙрд╕ рд╕реЗрдЯ рдЕрдк рдХреЛ рддреЛ рднреА рдЖрдкрдХреЛ рдЖрдирд╛ рдЪреАрдЬрд╝реЗ
00:34:58рдХрд┐ рдХрд╣рд╛рдВ рд╕реЗ рдлреНрд░реЗрдВрдЯ рд╕реЗ рдХреНрдпрд╛ рдЪреАрдЬрд╝ рдЖрдиреЗ рд╡рд╛рд▓реА рд╣реИ
00:35:00рдпрд╛рдж рд░рдЦрдирд╛ рдЬрд╝рд░реВрд░реА рдирд╣реАрдВ рд╣реИ
00:35:30рд░рд╛рдЬрд┐рдВрджрд░ рдХрд░реЗрдВ рдХрд┐ рд╕рд░ рдЬреЗ рдбрдмрд▓реВ рдЯреА рдХрдм рдпреВрдЬрд╝ рд╣реЛрддрд╛ рд╣реИ
00:35:56рдПрдХреНрдЬрд╛рдордкрд▓
00:35:57рдЬреИрд╕реЗ рдорд╛рд▓рд╛ рдЖрдк рдХрд┐рд╕реА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рд╣реЛ рдЕрднреА рдЕрдкрди
00:36:01e-commerce рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдЖ рд░рд╣реЗ рд╣реИ рддреЛ рдЖрдк
00:36:02рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЛ рдкреВрд░рд╛ explore рдХрд░ рд╕рдХрддреЗ рд╣реЛ
00:36:04рдбрд┐рдкреЗрдВрдб рдХрд░рддрд╛ рд╣реИ рдХреМрди рд╕реА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдмрдирд╛ рд░рд╣реЗ рд╣реИ рдЙрд╕рдХреЗ рдЙрдкрд░
00:36:07рдЬреИрд╕реЗ рдЕрднреА рдЖрдк рдкреВрд░реА рд╡реЗрдмрд╕рд╛рдЗрдЯ explore рдХрд░ рд╕рдХрддреЗ рд╣реЛ
00:36:09рдХреЛрдИ рджрд┐рдХреНрдХрдд рд╣реА рдирд╣реАрдВ, рдЕрд░рд╛рдо рд╕реЗ рджреЗрдЦреЛ, рдЖрдк рдмрд┐рдирд╛ рд▓реЙрдЧ рдЗрди рдХрд░реЗрдВ,
00:36:11рджреЗрдЦреЛ, рдХреЛрдИ рджрд┐рдХреНрдХрдд рдирд╣реАрдВ рдкреНрд░реЛрдбрдХреНрдЯ, рд▓реЗрдХрд┐рди рдЬреИрд╕реЗ рдЖрдк add to cart рдХрд░реЛрдЧреЗ,
00:36:14рддреЛ add to cart рдХрд░рддреЗ рд╣реА, рдЖрдк cart рдХреЗ рдЙрдкрд░ access рдХрд░реЛрдЧреЗ,
00:36:18рддреЛ рдпрд╣рд╛рдБ рдкрд░ рдЕрднреА рджреЗрдЦреЛ, рдореИрдВ рдПрдХ access рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ cart рдХрд╛,
00:36:20рд▓реЗрдХрд┐рди рдирд╣реАрдВ рдорд┐рд▓рдирд╛ рдЪрд╛рд╣рд┐рдП, рдпрд╣рд╛рдБ рдкрд░ рдмрддрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП,
00:36:22рдХрд┐ рдкрд╣рд▓реЗ рдЖрдк login рдХрд░реЛ, рдЙрд╕рдХреЗ рдмрд╛рдж рдЖрдк cart рдореЗрдВ add рдХрд░ рд╕рдХрддреЗ рд╣реЛ,
00:36:26product рдФрд░ shopping рдХрд░ рд╕рдХрддреЗ рд╣реЛ, рдЪреАрдХ рд╣реИ,
00:36:28рддреЛ рдкрд╣рд▓реЗ рд╡реЛ рдЕрдкрдиреА ID register рдХрд░рд╡рд╛рдПрдЧрд╛, рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА рдпрд╣ рдХрд╛рдо рд╣реЛрдЧрд╛,
00:36:33рддреЛ ID register рдХрд░рд╡рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдФрд░ website рдХреЛ secure рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП,
00:36:36рдкрди JWT рдХрд╛ рдпреВрдЬ рдХрд░рддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдЕрднреА рдореИрдВ рдХрд┐рд╕реА рднреА page рдХреЗ рдЙрдкрд░ рдЖрддрд╛ рд╣реВрдБ,
00:36:40рдЬреИрд╕реЗ рдорд╛рд▓реЛ рдореИрдВ рдпрд╣рд╛рдБ рдкрд░ contact рд╡рд╛рд▓реЗ, query рд╡рд╛рд▓реЗ рдкрд░ рдЖ рдЧрдпрд╛,
00:36:43рдЕрдм рдореИрдВ рдпрд╣рд╛рдБ рдкрд░, рдЕрдЧрд░ slash query, рдпрд╛ рдлрд┐рд░ рдЬреИрд╕реЗ рдорд╛рд▓реЛ, рдЕрдЧрд░ рдЖрдк cart рдкрд░ рдЖрддреЗ рд╣реЛ,
00:36:47рддреЛ рдЖрдкрдХреЛ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИ, slash cart рдХреЗ рдЙрдкрд░ рдЖ рд░рд╣реЗ рд╣реЛ,
00:36:49рдФрд░ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реЛрдВ рдХрд┐ рдореИрдВ direct, redirect рдХрд░рд╡рд╛ рджреВ,
00:36:52рдореИрдВрдиреЗ рдпрд╣рд╛рдБ рдкрд░ рдЖрдХреЗ рд▓рд┐рдЦ рджрд┐рдпрд╛, slash cart, рдФрд░ рдореИрдВ рдпрд╣рд╛рдБ рдкрд░ рдЖрдХреЗ рдЪреЗрдХ рдХрд░реВрдБрдЧрд╛,
00:36:55рддреЛ рдореИрдВ cart рдкрд░ рдЖ рдЬрд╛рдУрдБрдЧрд╛, рдЖ рдЧрдпрд╛ рд╣рдореЗрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП,
00:36:58рдпрд╣рд╛рдБ рдкрд░ рдХреНрдпрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд╡реЛ рдЕрдЧрд░ рдЖрдк рдХреЛрдИ рднреА,
00:37:00HTTP request рдХреЛ direct hit рдХрд░рд╡рд╛ рд░рд╣реЗ рд╣реЛ,
00:37:04рддреЛ рдЖрдкрдХреЛ рдмреЗрдЬрд╝реЗрдЧрд╛ рдХрд╣рд╛рдБ рдкрд░ login рдХреЗ рдЙрдкрд░,
00:37:06рд╡реЛ рдмрд╣реБрдд рд▓реЗрдЧрд╛ рдкрд╣рд▓реЗ login рдХрд░реЛ, рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА рдЖрдк access рдХрд░ рд╕рдХрддреЗ рд╣реЛрдВ рдЪреАрдЬреЛрдВ рдХреЛ,
00:37:10рддреЛ рдЙрд╕рдХреЗ рд▓рд┐рдП рдЕрдкрди рдЗрд╕рдХреЛ use рд▓реЗрддреЗ рд╣реИрдВ,
00:37:15рдЖрдИ рдмрд╛рдд рд╕рдордЭ рдореИрдВ рд╣реИ,
00:37:30рдХреНрдпрд╛ рд╣реИ,
00:38:00рд╢реНрд░реЗрдЧрд▓ рдХреЗ рд░рд╣реЗ рдХрд┐ рд╕рд░рдХрд▓ рдПрдХ рд╕рд╛рдЗрдЯ рдЪрд▓рд╛ рд░рд╣реЗ рдереЗ рдЙрдзрд░ рдмрд┐рдирд╛ рд▓реЛрдЧрд┐рди рдХреЗ рднреА рдХрд╛рд░реНрдЯ рдореЗрдВ рдЪреАрдЬрд╝реЗ рд░рд╣ рд░рд╣реА рдереА рдФрд░ рдмреНрд░рд╛рдЙрдЬрд░ рдмрдВрдж рдХрд░рдХреЗ рд╡рд╛рдкрд╕ рдЪрд▓рд╛рдП рддрдм рднреА
00:38:15рд╣рд╛рдБ рд╣реЛрддрд╛ рд╣реИ рдЖрдк рджрд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реЛ рд▓реЗрдХрд┐рди рдЬрдм рдЖрдк рдЙрд╕рдХреЛ рдХреНрдпрд╛ рдХрд░реЛрдЧреЗ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░реЛрдЧреЗ рдмрд╛рдИ рдЧрдВрдбреА рдХреЗ рд▓рд┐рдП рддрдм рдлрд┐рд░ рдЖрдкрдХреЛ рд▓реЙрдЧрд┐рди рдХрд░рдирд╛ рдкрдбрд╝реЗрдЧрд╛ рдареАрдХ рд╣реИ рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИ рдХрд┐ рдЖрдк рдХрд╛рд░реНрдЯ рдореЗрдВ рджрд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реЛ рдЬреИрд╕реЗ рдорд╛рд▓реЛ рдпрд╣рд╛рдВ рдкрд░ рдЖрдУ рдХреЛрдИ рднреА e-commerce website рдЬреИрд╕реЗ рдЕрдкрдиреЗ рдЬреИрдкреНрдЯреЛ рдХрд╛ рд╣
00:38:45рд╣реА рд╣реИ рдареАрдХ рд╣реИ рдЬреИрд╕реЗ рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рдкрд░ рдЗрд╕рдХреЛ рдмреЛрд▓рд╛ рдПрдбрд╝ рдЕрдм рджреЗрдЦреЛ рдпрд╣рд╛рдВ рдкрд░ рдХрд╛рд░реНрдЯ рдореЗрдВ рд╡рд╣ рдПрдбрд╝ рд╣реЛ рдЪреБрдХрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдореИрдВ рдЬреИрд╕реЗ рдЧреЛ рдЯреВ рдХрд╛рд░реНрдЯ рдХрд░реВрдБрдЧрд╛ рдпрд╣ рдмреЛрд▓реЗрдЧрд╛ рдкреНрд▓реАрдЬ рд▓реЙрдЧ рдЗрди рд╡реЛ рджрд┐рдЦрд╛ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдкреНрд░реЛрдбрд╝рдХреНрдЯ рдПрдбрд╝ рд╣реЛ рдЪреБрдХрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рдмреЛрд▓ я┐╜
00:39:15рдкрд░ рдЗрд╕рдХреЛ рднреА рдПрдбрд╝ рдХрд░ рджрд┐рдпрд╛, рдЕрдм рдпрд╣ рдмрддрд╛ рд░рд╣рд╛ рд╣реИ рдХрд┐ рджреЛ рдкреНрд░реЛрдбрдХреНрдЯ рдЖрдкрдХреЗ рдЖрдкрдХрд░ рдХрд╛рд░реНрдЯ рдореЗрдВ рд╣реИрдВ, рдпрд╣ рд╡рд┐рд╕ рд╢реЛ рд╣реА рдХрд░ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдЖрдк рдЧреВрд░реНрдЯреВ рдХрд╛рд░реНрдЯ рдХрд░реЛрдЧреЗ рддреЛ рдпрд╣ рдЖрдкрдХреЛ рдмрддрд╛рдПрдЧрд╛ рд▓реЙрдЧрд┐рди, рдлрд░реНрд╕реНрдЯ рд▓реЙрдЧрд┐рди, рдЙрд╕рдХреЗ рдмрд╛рдж рдЖрдк рдФрд░ рдХрд░реЛ, рдкреНрд▓реЗрдЬрдб рдХрд░реЛ, рдк
00:39:45рдХрд╛рдЙрдЯ рдХрд░реЛрдЧреЗ, рддрдм рдлрд┐рд░ рд╡реЛ рд╡рд╣рд╛рдБ рдкрд░ рдЪреЗрдВрдЬрд┐рд╕ рдХрд░ рджреЗрдЧрд╛, рдЬреИрд╕реЗ рдЕрднреА рдпрд╣рд╛рдБ рдкрд░ рдХрд╛рд░реНрдЯ рдореЗрдВ рдЖрдк рдЪреЗрдХ рдХрд░реЛрдЧреЗ, рдпрд╣ рдмрддрд╛ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдЗрд╕рдХреЛ рдПрдбрд╝ рдХрд░ рд░рдЦрд╛ рд╣реИ, рдЕрдм рдпрд╣рд╛рдБ рдкрд░ рдЗрд╕рдиреЗ рд╕рд╛рд░реА рдбреАрдЯрд┐рдпрд▓реНрд╕ рджреЗ рд░рд╣рд╛ рд╣реИ, рдкреНрд▓реЗрдЬ рдУрд░ рдЬреИрд╕реЗ рдЖрдк рдХрд░реЛрдЧреЗ, рдХреНрдпрд╛ рдмрддрд╛ рд░рд╣рд╛ рд╣реИ, рдЕя┐╜
00:40:15рдпрд╣рд╛рдБ рдкрд░ рдХрд╛рд░реНрдЯ рдХреЗ рдЕрдВрджрд░ рд╡реЛ рдЖ рд░рд╣рд╛ рд╣реИ, рдЖрдкрдХреЗ рдкрд╛рд╕, рдпрд╣рд╛рдБ рдкрд░ рдХреЛрдИ рджрд┐рдХреНрдХрдд рдирд╣реАрдВ рд╣реИ, рдЕрдм рдЬреИрд╕реЗ рдореИрдВ рдкреНрд▓реЗрдЬ рдУрд░ рдХрд░реВрдБрдЧрд╛, рд▓реЛрдЧрд┐рди рдкрд░ рд▓реЗ рдЬрд╛рдпрд╛рдЧрд╛, рдПрдХ рд╣реА рдмрд╛рдд рд╣реИ, рдкреНрд▓реЗрдЬ рдУрд░ рдкрд░ рд▓реЛрдЧрд┐рди рдкрд░ рд▓реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реЛ, рдХрд╛рд░реНрдЯ рдЖрдк рджрд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реЛ, рддреЛ рдХрд╛рд░реНрдЯ рдмрддрд╛ рд╣реИ рдХреИрд╕реЗ рджрд┐
00:40:45рд╕реЗ рд░рд╣рдиреЗ рдЪрд╛рд╣рд┐рдП рдареАрдХ рд╣реИ рддреЛ рдЙрд╕рдХреЗ рд╣рд┐рд╕рд╛рдм рд╕реЗ рдлрд┐рд░ рдЕрдкрдиреЗ рдХреЛ рдХрд╛рдо рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ
00:40:50рдЪреЗрдХ рдЖрдЙрдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рдЪреЗрдХ рдЖрдЙрдЯ рдХреЗ рдЕрдВрджрд░ рдлрд┐рд░ рдЕрдкрдиреЗ рдХреЛ рдХреНрдпрд╛ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ рдЙрд╕рдХреЛ рдпрд╣ рдХрд╛рдо рдХрд░рд╡рд╛рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ
00:41:15рдЗрдВрдж рд▓рд╛рдЗрдЯ рдХрд╛рдЯ, рдЪреАрдХ рд╣реИ, рдпрд╣ рддреЛ рд╡реИрдмрд╕рд╛рдЗрдЯ рд╣реА рдкрд╣рд▓реЗ рдмрд╛рд░ рджреЗрдЦрд┐рдП рдореИрдВрдиреЗ, рдЗрд╕рдиреЗ рдмреЗрд╕рд┐рдХ рд╕реА рдмрдирд╛ рд░рдЧреА рдЬреИрд╕реЗ рдпрд╣рд╛рдБ рдкрд░, рдЬреИрд╕реЗ рдЖрдк рдХрд┐рд╕реА рднреА рдЪреАрдЪ рдХреЗ рдЙрдкрд░ рдЖ рдЬрд╛рдУ, рдЬреИрд╕реЗ рдЖрдкрдиреЗ рдЗрд╕рдХреЛ рдПрдХ рдЯреВ рдХрд╛рдЯ рдХрд░рд╛, рдЪреАрдХ рд╣реИ, рддреЛ рдпрд╣ рдЖрдкрдХрд╛ рдПрдХ рдЯреВ рдХрд╛рдЯ рд╣реЛ рдЪреБрдХрд╛ рд╣реИ, рд╡реНрдпреВ рдХрд╛рдЯ рдХрд░
00:41:45рдпрд╣ рд╕рд░реА рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд▓реЛрдЧрд┐рди рдХрд░рд╡рд╛рдПрдЧрд╛ рдпрд╣ рдЬреИрдХ рд╣реИ, рдпрд╣ рд▓реЛрдЧрд┐рди рдХрд░рд╡рд╛рдПрдЧрд╛ рдЖрдкрдХреЛ рдпрд╣рд╛рдБ рдкрд░, рдпрд╣рд╛рдБ рдкрд░ рджреЗрдЦреЛ, рдХреНрд╡реЗрд░реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕рд╛рд░реА рдмрди рд░рд╣реА рд╣реИ рдЖрдкрдХреЗ рдмрд╛рд╕, рдпрд╣ рдЦрд╛рдиреЗ рднреА рдирд╣реАрдВ рдХреА рдЪреАрдЬрд╝реЗ рдХреНрдпреЛрдВ рдмреЗрдЬрд╝рдиреЗ рддреЛ рдЖрдк, рд╡рд╛рдЙ,
00:42:15324, рдЪреЛрдХреЛ рдмреНрд░рд╛рдЙрдиреА, рдХрд┐рддрдиреЗ рдкреАрд╕реЗрдЬ рджреЗ рд░рд╣рд╛ рд╣реИ рдпрд╣ рдЗрд╕рдХреЗ рдЕрдВрджрд░,
00:42:39рдареАрдХ рд╣реИ рдЪрд▓реЛ, рдпрд╣ рддреЛ рд╣рдЯрд╛рдУ, рдХреНрдпрд╛ рджреЗрдЦ рд░рд╣реЗ рд╣реБрдП рд╣реИ, рдЗрд╕рдореЗрдВ рд░рд┐рдлреНрд░реЗрд╢ рдкрд░ рдХрд╛рдЯ рдЦрд╛рдиреЗ рд╣реИ,
00:42:45рдЖрдкрдирд╛ рднреА рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдЯреИрдВрдЪрди рдорддрд▓реЛ, рдЕрдм рдпрд╣ рдкрди рд╕реНрдЯрд╛рд░реНрдЯ рд╣реА рдХрд░рд╛ рд╣реИ, рдЕрдкрдиреЗ рдХрд╛рдЯ рдЦрд╛рд▓реА рдирд╣реАрдВ рд╣реЛрдЧрд╛,
00:42:52рдмрдирд╛рдиреЗ рддреЛ рджреЛ рд░рд┐рдлреНрд░реЗрд╢ рдкрд░ рдХрд╛рдЯ рдЦрд╛рд▓реА рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдЖрдк рдЪрд╛рддреЗ рд╣реЛ рдХрд┐ рдЖрдкрдХреЛ рдХрд╛рдЯ рджрд┐рдЦрд╛рдИ рджреЗ, рдареАрдХ рд╣реИ, рдЬреИрд╕реЗ рдЖрдк рд▓реЛрдЧрд┐рди рдХрд░ рдЧрдпрд╛ рд╣реИ,
00:42:59рдЖрдкрдХреЛ рдХрд╛рдЯ рджрд┐рдЦрд╛рдИ рджреЗ, рдлрд┐рд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдЬрдм рдЖрдк рдЪреЗрдХ рдЖрдЙрдЯ рдХрд░реЛ, рддрдм рд╡реЛ рд▓реЛрдЧрд┐рди рдХрд░ рд╡рд╛рдП, рдпрд╣ рдЧрд╛рдо рднреА рдХрд░ рд╕рдХрддреЗ рд╣реЛ,
00:43:04рдпрд╣ рдлрд┐рд░, рдЬреИрд╕реЗ рдХрд╛рдЯ рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд░реЛ, рддреЛ рд╡реЛ рд▓реЛрдЧрд┐рди рдХрд░ рдЖрдП, рджреЛрдиреЛрдВ рдХрд╛ рд╣рдо рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдХреЛрдИ рджрд┐рдЦрдХрдд рдирд╣реАрдВ, рд╡реЛ рддреЛ рдЕрдкрдиреЗ рдЕрдкрдирд╛ рдЯреЛрдХрди рдХрд╛ рд╡реЛ рдЕрдкрдирд╛ рдЬреЛ
00:43:12рдорд┐рдбрд▓ рд╡реЗрд░ рд╣реИ, рд╡реЛ рддреЛ рдЕрдкрдиреЗ рд▓рд┐рдЦреА рд▓рд┐рдпрд╛, рдЕрдм рдЙрд╕ рдорд┐рдбрд▓ рд╡реЗрд░ рдХреЗ рд╡реЗрд╕рд┐рд╕ рдкрд░ рдЕрдкрдиреЗ рдХреЛ рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реИ, рдХрд┐ рдХрд┐рд╕ рдЪреАрдЬ рдХреЗ рдЙрдкрд░ рдЖрдк рдЙрд╕ рдорд┐рдбрд▓ рд╡реЗрд░ рдХреЛ рд▓рдЧрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реЛ, рдареАрдХ рд╣реИ, рдЬрд┐рд╕ рдЬрд┐рд╕ рдкрд░ рд▓рдЧрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реЛ, рдЙрд╕ рдкрд░ рд▓рдЧрд╛ рддреЛ рд╕рдм рдкрд░ рд▓рдЧрд╛ рддреЛ, рдЬрд┐рддрдиреА рднреА рдЖрдкрдХреА STP рд░рд┐рдХреНрд╡реЗ
00:43:42рдпрд╣рд╛рдВ рдкрд░ рдЕрдкрдиреЗ рдХреЛ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ, рдЬреИрд╕реА рдореИрдВ рдЗрд╕рдХреЗ рдЙрдкрд░ рдХреНрд▓рд┐рдХ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ, рддреЛ рдЗрд╕ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реА, рдЕрдкрдиреЗ рдХреЛ рдпрд╣рд╛рдВ рдкрд░ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ, рдЯреЛрдХрдиреНрд╕ рдХреЛ рдЪреЗрдХ рдХрд░рдирд╛ рд╣реИ, рдХрд┐ рдЙрд╕рдХреЗ рдЯреЛрдХрдиреНрд╕ рдпрд╣рд╛рдВ рдкрд░ рд╣реИ рдпрд╛ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдЪреЗрдХ рдХрд░рдирд╛ рд╣реИ, рдареАрдХ рд╣реИ, рддреЛ рдкрд░ рдПрдХ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рдХрд╛рд░реНрдЯ рдЬрдм рдЖрдк
00:44:12рддреЛ SRC рдХреЗ рдЕрдВрджрд░
00:44:13рдЖрдкрдиреЗ рдпрд╣рд╛рдВ рдкрд░ рдЕрдкрдиреЗ
00:44:16рдЬреЛ рдХрд╛рдЯ рд╡рд╛рд▓рд╛ рдХрд╛рдо рд╣реИ
00:44:17рд╡реЛ рдХрд┐рд╕рдореЗрдВ рдЧрд░рд╡рд╛рд░рд╛ рдХрд╛ рд╣реИ, рд╡реЛ рд╕рд╛рд░рд╛ рдХрд╛рдо рд╣реЛ рд░рд╣рд╛ рд╣реИ
00:44:19рдЖрдкрдХреЗ рдпрд╣рд╛рдВ рдкрд░ features рдХреЗ рдЕрдВрджрд░
00:44:23рдпрд╣рд╛рдВ рдкрд░ рдЕрдЧрд░ рдЖрдк рджреЗрдЦреЛрдВрдЧреЗ
00:44:24рддреЛ рдпрд╣ рдЖрдкрдХрд╛ save рдХрд╛ code
00:44:26рдФрд░ рдРрд╕реЗ рд╣реА
00:44:27рдХрд╛рдЯ рдХреЛ рд╡рд╛рдкрд╕ fetch рдХрд░рдиреЗ рдХрд╛ code рднреА
00:44:30рдпрд╣рд╛рдВ рдкрд░ рд▓рд┐рдЦреЗрдВрдЧреЗ рдпрд╣ рддреЛ рд╕рд┐рд░реНрдл рдХрд┐рд╕рдХрд╛ рд╣реИ рд╕реЗрд╡ рдХрд╛ рд╣реИ рдЕрдм рдХрд╛рд░реНрдЯ рдХреЛ рдлреИрдЪ рдХрд░ рджреЗ рдХрд╛ рднреА рдХрд╛рдо рдЕрдкрди рдпрд╣рд╛рдВ рдкрд░ рдХрд░реЗрдВрдЧреЗ рдЕрдм рдЬрдм рдЙрд╕ рдпреВрдЬрд░ рдХрд╛ рдХрд╛рд░реНрдЯ рдпрд╣рд╛рдВ рдкрд░ рд╕реЗрд╡ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдЬреЛ рд▓реЛрдЧрд┐рди рдХрд░рдХреЗ рдЖрдпрд╛ рд╣реИ рддреЛ рдЙрд╕рдХреЗ рдЯреЛрдХрди рд╕реЗрд╡ рд╣реЛ рдЪреБрдХреЗ рдФрд░ рдХрд╣рд╛рдВ рдкрд░ рд╕реЗрд╡ рд╣реЛ рд░рд╣реЗ рд╣реИ рдЙрд╕рдХреЗ рдЯреЛрдХрди рд╕реЗрд╡ рд╣
00:45:00рддреЛ рдореИрдВ рдпрд╣рд╛рдБ рдкрд░ рдПрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдБ,
00:45:02рдореИрдВ рдмреЛрд▓рддрд╛ рд╣реВрдБ рдЕрдкрдиреЗ local stories рдХреЛ,
00:45:04рдФрд░ рдЙрд╕рдореЗрдВ рд╕реЗ dot рдХрд░рдХреЗ рдЕрдкрди рдХреНрдпрд╛ рдХрд░реЗрдВрдЧреЗ рдЕрдкрдирд╛ get item,
00:45:07рдФрд░ get item рдХрд░рдХреЗ рдореИрдВ рдпрд╣рд╛рдБ рдкрд░ pass рдХрд░ рджреЗрддрд╛ рд╣реВрдБ,
00:45:09рдЕрдкрдирд╛ key, рдпрд╣ рдХрд░рддреЗ рд╣реИ get рдХреЗ рд▓рд┐рдП рддреЛ token рдирд╛рдо рдХреА key рдЕрдкрди рдпрд╣рд╛рдБ рдкрд░ pass рдХрд░ рджреЗрддрд╛ рд╣реИ,
00:45:13рдФрд░ рдЗрд╕рдХреЛ рдПрдХ variable рдореЗрдВ assign рдХрд░ рджреЛ,
00:45:16рддреЛ рдореИрдВ рдпрд╣рд╛рдБ рдкрд░ рдХрд░рддрд╛ рд╣реВрдБ const рдФрд░ рдореИрдВ рдпрд╣рд╛рдБ рдкрд░ рдХрд░рддрд╛ рд╣реВрдБ рдЕрдкрдирд╛ token,
00:45:23рдЪреАрдХ рд╣реИ, рдпрд╣рд╛рдБ рдкрд░ рдЕрдкрди рдХреНрдпрд╛ рдХрд░рддреЗ рд╣реИрдВ рдЕрдкрдирд╛ token,
00:45:25рдкрд░рдлреЗрдХреНрдЯ, рддреЛ рдпрд╣ рдЕрдкрдирд╛ token рд╣реИ,
00:45:28рдЕрдм рдЗрд╕ token рдХреЛ рдореЗрд░реЗ рдХреЛ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ,
00:45:30рдЗрд╕ token рдХреЛ рдореЗрд░реЗ рдХреЛ backend рдкрд░ рдмреЗрдЬрдирд╛ рд╣реИ,
00:45:31рдЕрдм рджреЗрдЦреЛ рдЖрдк headers рдХреЗ рдЕрдВрджрд░ рдПрдХ рддреЛ рдмреЗрдЬрд╝реЛ content type application slash JSON
00:45:34рдРрд╕реЗ рд╣реА рджреВрд╕рд░реА рдЪреАрдЬ рдореИрдВ рдпрд╣рд╛рдБ рдкрд░ рдмреЗрдЬрдиреЗ рд╡рд╛рд▓рд╛ рд╣реВрдБ
00:45:37рдФрд░ рд╡реЛ рдореИрдВ рдпрд╣рд╛рдБ рдкрд░ рдмреЗрдЬрдиреЗ рд╡рд╛рд▓рд╛ рд╣реВрдБ рдЕрдкрдирд╛ authorization
00:45:40рддреЛ рдпрд╣рд╛рдБ рдкрд░ рдЕрдкрди рдмреЗрдЬрд╝ рджреЗрддреЗ рд╣реИрдВ рдЕрдкрдирд╛ authorization рдЪреАрдХ рд╣реИ
00:45:43A-U-T-H
00:45:46рдЪреАрдХ рд╣реИ authorization
00:45:51spelling mistake рдХрд░ рджреАрдЧрд╛
00:45:53A-U-T-H-O
00:45:56рдареАрдХ рд╣реИ authorization рдХреЗ рдЕрдВрджрд░ рдЕрдкрди рдпрд╣рд╛рдБ рдкрд░ рдХреНрдпрд╛ рдмреЗрдЬрдиреЗ рд╡рд╛рд▓реЗ рд╣реИрдВ рдЕрдкрдиреЗ tokens рдХреЛ
00:46:04рддреЛ рдореИрдВ рдпрд╣рд╛рдБ рдкрд░ рд▓рд┐рдЦреВрдБрдЧрд╛ рдЕрдкрдирд╛ BRR
00:46:06рдареАрдХ рд╣реИ рдФрд░ рдпрд╣рд╛рдБ рдкрд░ рдкрд░ рдкрд╛рд╕ рдХрд░реЗрдВрдЧреЗ рдЕрдкрдиреЗ token
00:46:14рдореИрдВ рдпрд╣рд╛рдБ рдкрд░ рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдБ рдЕрдкрдиреЗ рдХрд┐рд╕рдХреЛ
00:46:16token рдХреЛ
00:46:17рдпрд╣ token рдЖрдкрдХрд╛ рдЪрд▓рд╛ рдЬрд╛рдирд╛ рдЪреАрдП
00:46:23рдареАрдХ рд╣реИ рддреЛ рдпрд╣ token рдХрд╣рд╛рдБ рдкрд░ рдЬрд╛рдирд╛ рдЪреАрдП
00:46:28token рдЬрд╛рдирд╛ рдЪреАрдП рдЖрдкрдХреЗ back end рдХреЗ рдЙрдкрд░
00:46:30рдареАрдХ рд╣реИ authorization рдЕрдкрдиреЗ рдпрд╣рд╛рдБ рдкрд░ headers рдХреЗ рдЕрдВрджрд░ рд▓рд┐рдЦрд╛
00:46:35authorization рдФрд░ рдпрд╣рд╛рдБ рдкрд░ content type application
00:46:38slash JSON рддреЛ рд╣реИ рдпрд╣ рдЖрдкрдХрд╛ рдЗрд╕рдореЗрдВ рддреЛ рдХреЛрдИ doubt рд╣реА рдирд╣реАрдВ рд╣реИ
00:46:41рдФрд░ рдЗрд╕реА рдХреЗ рд╕рд╛рде рдореИрдВ authorization рдХреЗ рдЕрдВрджрд░ BRR
00:46:45token рдореИрдВ рдпрд╣рд╛рдБ рдкрд░ рдмреЗрдЬ рд░рд╣рд╛ рд╣реВрдБ рдЬреЛ рдореИрдВрдиреЗ рдпрд╣рд╛рдБ рдкрд░
00:46:47create рдХрд░реЗрдВ рд▓рд┐рдП рдХрд┐рд╕рдХреЗ рдЙрдкрд░
00:46:49slash API slash card save рдЬрд╣рд╛рдБ рдкрд░ рд╡реЛ save рд╣реЛ рд░рд╣рд╛ рд╣реИ
00:46:52рддреЛ рдЬрд▓реНрджреА рд╕реЗ рдЕрдкрдиреЗ рдХрд┐рд╕рдХреЗ рдЙрдкрд░ рдЖрдУ
00:46:55API.js рдХреЗ рдЙрдкрд░ рдЖрдУ
00:46:56рдФрд░ save рдХрд╣рд╛рдБ рдкрд░ рд╣реЛ рд░рд╣рд╛ рд╣реИ save рдЕрдЧрд░ рдЖрдк
00:46:59рдпрд╣рд╛рдБ рдкрд░ рджреЗрдЦреЛрдЧреЗ рддреЛ save
00:47:01рдЖрдкрдХрд╛ рдпрд╣ рд░рд╣рд╛ рдпрд╣ рд░рд╣рд╛ save рд╡рд╛рд▓рд╛ рдХрд╛рдо рдареАрдХ рд╣реИ
00:47:04рддреЛ рдпрд╣рд╛рдБ рдкрд░ рдЖрдкрдХреЛ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ
00:47:06рдпрд╣рд╛рдБ рдкрд░ рдЖрдкрдХреЛ рдЕрдкрдирд╛ middleware
00:47:08set рдХрд░рдирд╛ рд╣реИ рдпрд╣рд╛рдБ рдкрд░ рдЖрдкрдХреЛ
00:47:10рд╕рд┐рд░реНрдл рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ рдЕрдкрдиреЗ middleware рдХреЛ set рдХрд░рдирд╛ рд╣реИ
00:47:12рдЬреЛ рднреА рдЖрдкрдиреЗ рдЕрдкрдирд╛ auth middleware
00:47:14рдпрд╣рд╛рдБ рдкрд░ рдХреНрд░рд┐рдП рдЙрд╕рдХреЛ рдпрд╣рд╛рдБ рдкрд░ set рдХрд░ рджреВ
00:47:16рддреЛ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдпрд╣рд╛рдБ рдкрд░ рдЖрдкрдХреЗ рдмрд╛рд╕ token рдЖ рд░рд╣реЗ рд╣реИрдВ
00:47:19рдпрд╣ token рдЪреЗрдХ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛ рдкрд░ рдЬрд╛рдПрдВрдЧреЗ
00:47:21crash рд╣реЛ рдЧрдП рдЧрд╛
00:47:23рдпрд╣рд╛рдБ рдкрд░ рдпрд╣ рдЬреЛ рдЖрдкрдХреЗ crash рд╣реЛ рд░рд╣рд╛ рд╣реИ
00:47:27рдПрдХ рдорд┐рдирдЯ
00:47:28рдХреНрдпрд╛ mistake рдХрд░ рджрд┐рдпреЗ рдЕрдкрдиреЗ
00:47:31рдпрд╣рд╛рдБ рдкрд░ рдЬрд╛рдЧ рдХрд░реЛ рдХреНрдпрд╛ рдмрддрд╛ рд░рд╣реЗ рд╣реИ
00:47:33odd.js
00:47:44module.exports
00:47:47odd рдХреЛ рдЖрдкрдиреЗ рдпрд╣ рдкрд░ export рдХрд░ рджрд┐рдпрд╛
00:47:59рдХреБрдЫ mistake рджрд┐рдЦрд░реА рдХреНрдпрд╛
00:48:01рдЬреАрд╕рди рд╡реЗрдм рдЯреЛрдкрди рд╕реНрдХреЗрди рдиреЛрдЯ рдлрд╛рдЗрдВрдб
00:48:21рд╡рд╛рдИ
00:48:22рдЕрдЪреНрдЫрд╛ рдРрд╕ рд▓рдЧрд╛ рджрд┐рдпреЗ рдЧрд╛ рдЙрд╕рдореЗрдВ
00:48:27рдУрдХреЗ mistake рдереА рдЕрдкрдиреА
00:48:29рдХреЛрдИ рдЗрд╢реБ рдирд╣реАрдВ рд╣реИ
00:48:30рдареАрдХ рд╣реИ рдбреАрд╡реА successfully рд╣реЛ рд░рд╣рд╛ рд╣реИ рдпрд╣рд╛рдБ рдкрд░
00:48:33рдЕрдм рджреЗрдЦреЛ рдпрд╣рд╛рдБ рдкрд░ рдореИрдВрдиреЗ рдмреЛрд▓рд╛ рдХрд┐
00:48:35рдпрд╣рд╛рдБ рдкрд░ card save рдореЗрдВ рдЖрдПрдЧрд╛
00:48:37рдЙрд╕рд╕реЗ рдкрд╣рд▓реЗ рд╡реЛ auth рдореЗрдВ рдЬрд╛рдХреЗ рдЪреЗрдХ рдХрд░реЗрдЧрд╛
00:48:39рд╡реЛ рдЬреЛ middleware рд╣реИ рдЗрд╕рдореЗрдВ рдЖрдХреЗ рдЪреЗрдХ рдХрд░реЗрдЧрд╛
00:48:41рдпрд╣рд╛рдБ рдкрд░ рд╡реЛ рджреЗрдЦреЗрдЧрд╛ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕
00:48:43рдпрд╣рд╛рдБ рдкрд░ b error header рдЬреЛ рд╣реИ рд╡реЛ рдЖ рд░рд╣рд╛ рд╣реИ
00:48:45request.header. рдЖрдк рдпрд╣рд╛рдБ рдкрд░ рднреЗрдЬ рд░рд╣реЛ
00:48:47рдЕрдЧрд░ рдЖрдк рджреЗрдЦреЛрдЧреА рддреЛ рдпрд╣ рд░рд╣рд╛ рдЖрдкрдХрд╛
00:48:49authorization рдХреЗ рдЕрдВрджрд░ b error рдФрд░ рдлрд┐рд░ рдЙрд╕рдХреЗ рддрд╛рд░
00:48:51token рдЖрдк рдпрд╣рд╛рдБ рдкрд░ рднреЗрдЬ рд░рд╣реЛ рдЪреЗрдХ рдХрд░реЗрдЧрд╛
00:48:53рдЖ рд░рд╣рд╛ рд╣реИ рддреЛ рдЙрд╕рдХреЗ basis рдкрд░ рдпрд╣рд╛рдБ рдкрд░
00:48:55рдпрд╣ рджреЛрдиреЛрдВ condition рдпрд╣рд╛рдБ рдкрд░ рдЪреЗрдХ рдХрд░реЗрдЧрд╛
00:48:57рдЕрдЧрд░ access deny рд╣реЛрдЧрд╛ рддреЛ рдпрд╣рд╛рдБ рдкрд░
00:48:59рдмреЛрд▓реЗрдЧрд╛ no token provided
00:49:01рдорддрд▓рдм b error рднреА рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рд╣реИ рдЗрд╕рд╕реЗ start
00:49:03рдирд╣реАрдВ рд╣реЛ рд░рд╣рд╛ рджреВрд╕рд░рд╛ рдЕрдкрди рдпрд╣рд╛рдБ рдкрд░
00:49:05рдХреНрдпрд╛ рдХрд░реЗ рдХрд┐ рдЕрдкрдиреЗ рдкрд╛рд╕ рдЬреЛ рд╣реИ рдпрд╣
00:49:07рдЪреАрдЬ value рдЖрдирд╛ рдЬрд░реВрд░реА рд╣реИ рдЕрдЧрд░ рдпрд╣ рдирд╣реАрдВ рдЖ рд░рд╣реА
00:49:09рддреЛ рдпрд╣ condition рдЕрдкрдиреЗ рдкрд╛рд╕ true рд╣реЛрдЧреА рддреЛ
00:49:11рдпрд╣ рдХреНрдпрд╛ рдХрд░реЗрдЧрд╛ рдЗрд╕рдХреЛ run рдХрд░ рджреЗрдЧрд╛ рдирд╣реАрдВ
00:49:13рддреЛ рдЕрдкрдиреЗ рдкрд╛рд╕ token рдЖ рдЬрд╛рдПрдЧреЗ token рдЖрдпрд╛ рддреЛ рд╡реЛ
00:49:15рдпрд╣рд╛рдБ рдкрд░ token рдХреЛ check рдХрд░реЗрдЧрд╛ verify рдХрд░реЗрдЧрд╛
00:49:17рдХрд┐рд╕ рд╕реЗ рдЬрдм user рдпрд╣рд╛рдБ рдкрд░ рдХреНрдпрд╛ рдХрд░ рд░рд╣рд╛ рдерд╛
00:49:19login рдХрд░рдХреЗ рдЖрдпрд╛ рдЙрд╕рдХреЗ basis рдкреЗ
00:49:21рдФрд░ рд╡реЛ рдпрд╣рд╛рдБ рдкрд░ рдкреВрд░рд╛ complete check рдХрд░реЗрдЧрд╛
00:49:23рдлрд┐рд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдЕрдкрди рдпрд╣рд╛рдБ рдкрд░ рдЗрд╕рдХреЛ
00:49:25next рдХрд░ рджреЗрдВрдЧреЗ рдФрд░ рдпрд╣рд╛рдБ рдкрд░ return рдХрд░ рджреЗрдВрдЧреЗ
00:49:27perfect рдареАрдХ рд╣реИ рдФрд░ рдпрд╣рд╛рдБ рдкрд░ рдЕрдЧрд░ рдЖрдк check рдХрд░реЛрдЧреЗ
00:49:31рддреЛ рдпрд╣ middleware рдЕрдкрдиреЗ рдХрд╛ рдкрд░ рд▓рдЧрд╛рдП рдЕрдкрдиреЗ
00:49:35рдЗрд╕рдХреЗ рдЙрдкрд░ рдФрд░ рдпрд╣рд╛рдБ рдкрд░ save data
00:49:37controller рдХреЗ рдЙрдкрд░ рд╡реЛ рдЪрд▓рд╛ рдЬрд╛рдПрдЧрд╛
00:49:39рдФрд░ рдЖрдкрдХрд╛ рдЬреЛ card рд╣реИ рд╡реЛ save рд╣реЛ рдЬрд╛рдПрдЧрд╛
00:49:42рдареАрдХ рд╣реИ рдЗрддрдирд╛ рд╕рд╛ рдХрд╛рдо
00:49:43рдЕрдкрдиреЗ рдХреЛ рдпрд╣рд╛рдБ рдкрд░ рдХрд░рдирд╛ рд╣реИ
00:49:45рддреЛ рдЪрд▓реЛ рдЕрдкрдиреЗ рдПрдХ рдкрд░ check рдХрд░рддреЗ рд╣реИ
00:49:47рдЪреЗрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдХреЛ рдПрдХ рдХрд╛рдо
00:49:54рдХрд░рдирд╛ рдкрдбрд╝реЗрдЧрд╛ рдЬреЛ рдЕрдкрдирд╛ card slice рд╣реИ
00:49:56рдЙрд╕рдХреЗ рдЕрдВрджрд░ рдЕрдкрдиреЗ рдХреЛ
00:49:57response рднреА рдирд┐рдХрд╛рд▓рдирд╛ рдкрдбрд╝реЗрдЧрд╛
00:49:59рдЕрдкрдиреЗ card slice рдХреЗ рдЕрдВрджрд░
00:50:02рдЕрдкрдиреЗ рдХреЛ рдЕрдкрдирд╛ response рдирд┐рдХрд╛рд▓рдирд╛ рдкрдбрд╝реЗрдЧрд╛
00:50:03рдФрд░ response рдЖрдк рдпрд╣рд╛рдБ рдкрд░ рдЕрдкрдиреЗ
00:50:05рд░рд┐рдбрдХреНрд╕ рдХреЗ рдЕрдВрджрд░ create a thing
00:50:07рдХреЗ рддреБрд░реВ рдЖрдк рдпрд╣рд╛рдкрд░ hit рдХрд░рд╡рд╛ рд░рд╣реЗ рд╣реЛ рдЕрдкрдиреА API рдХреЛ
00:50:09рддреЛ response рдЖрдк рдирд┐рдХрд╛рд▓рддреЗ рд╣реЛ рдпрд╣рд╛рдкрд░ рдЕрдкрдиреЗ extra reducers рдХреА рддреБрд░реВ
00:50:13рддреЛ рдЖрдкрдХреЛ рдпрд╣рд╛рдкрд░ extra reducers рдХрд╛ setup рдХрд░рдирд╛ рдкрдбрд╝реЗрдЧрд╛
00:50:15then рдЙрд╕рдХреЗ рдмрд╛рдж рдЕрдкрдиреЗ рдкрд╛рд╕ рдЬреЛ рднреА response рдЖ рд░рд╣рд╛ рд╣реИ
00:50:18рд╡реЛ response рдЖрдкрдиреА рдЖрдкрдиреА рдЖрдкрдиреЗ рдирд┐рдХрд╛рд▓реЗрдВрдЧреЗ
00:50:19рдареАрдХ рд╣реИ рдпрд╣рд╛рдкрдХрд╛ save cut рдЖрдкрдиреЗ рдпрд╣рд╛рдкрд░ рдмрдирд╛рдпрд╛ рд╣реИ
00:50:39рдареАрдХ рд╣реИ рдФрд░ рдпрд╣рд╛рдБ рд╕реЗ рдЕрдкрди рдЕрдкрдирд╛ рдПрдЧрд╡рд╛рд░ response рдирд┐рдХрд╛рд▓ рд░рд╣рддреЗ рд╣реИрдВ
00:50:49рдпрд╣рд╛рдкрдХрд╛ card slice рд╣реЛ рдЧрдпрд╛ рдФрд░ рдпрд╣рд╛рдБ рдкрд░ рдпрд╣рд╛рдБ рдкрд░ рдпрд╣ рд╕рд╛рд░реЗ рдЪреАрд╢реЗ рд╣реИ
00:51:06рддреЛ рдпрд╣рд╛рдБ рдкрд░ рдЕрдкрдиреЗ рд▓рдЧрд╛ рджреЗрддреЗ рд╣реИрдВ рдЕрдкрдирд╛ extra reducer
00:51:10рдХрд▓реЗ рдЗрд╕ рдХрд╛рдо рдХреЛ рдЕрднреА рдЪрд▓реЛ рдХрд░реЗрдВ рд▓реЗрддреЗ рд╣реИрдВ
00:51:14рдпрд╣рд╛рдБ рддрдХ рдХрд╛ рдкреВрд░рд╛ рдпрд╣ рд╣реИ рдФрд░ рдЖрдкрдиреЗ рдпрд╣рд╛рдБ рдкрд░ рдпрд╣ рд╕рд╛рд░рд╛ рдХрд╛рдо рдХрд╛ рд░рдЦрд╛ рд╣реИ
00:51:18рдлрд┐рд░ рдЙрд╕рдХреЗ рдмрд╛рдж
00:51:19рдпрд╣рд╛рдБ рдкрд░ рдореИрдВ рд╕рд╛рдЗрдЯ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЕрдкрдирд╛ extra reducer
00:51:25рдареАрдХ рд╣реИ рддреЛ рдпрд╣рд╛рдБ рдкрд░ рдЕрдкрди рдмреБрд▓рд╛рддреЗ рд╣реИрдВ рдЕрдкрдирд╛ extra reducer
00:51:30рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рддреЛ import рдХрд░ рд▓реЛ directly рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рддреЛ import рд╣реА рдХрд░рдирд╛ рдкрдбрд╝реЗрдЧрд╛ рдЕрдкрдиреЗ рдХреЛ
00:51:34рддреЛ рдЬрд▓реНрджреА рд╕реЗ рдореИрдВ рдпрд╣рд╛рдБ рдкрд░ рдЕрдкрдирд╛ extra reducer рдХреЛ import рдХрд░ рд▓реЗрддрд╛ рд╣реВрдБ
00:51:38рд╡реЗрдЯреЗ рдорд┐рдиреЗрдЯ рдЕрдкрдиреЗ рдЕрдкрдиреЗ рдпрд╣рд╛рдБ рд▓рдЧрд╛рдП рджрд┐рдпрд╛ рдФрд░ рдЕрдкрдиреЗ рдЯреВрд▓ рдХрд┐рдЯ рд╕реЗ рдЕрдкрдиреЗ рдХреЛ рдЕрдкрдирд╛ extra reducer
00:52:02рдпрд╣рд╛рдБ рдкрд░ set рдХрд░рдирд╛ рдкрдбрд╝реЗрдЧрд╛ рдпрд╣рд╛рдБ рдкрд░ рдЕрдкрдиреЗ рдпрд╣ рдХрд╛рдо рдХрд░ рджрд┐рдпрд╛ рдФрд░ рдЕрдкрдиреЗ рдЕрдкрдиреЗ рдЕрдкрдиреЗ рдпрд╣ рдХрд╛рдо рдХрд░ рджрд┐рдпрд╛ рдФрд░
00:52:20рд╡реЗрдЯреЗ рдорд┐рдиреЗрдЯ рдХрд╛ рдЗрд╕ рдХрд╛ рдЯреЛрдЯрд▓ рд╣реИ рдЗрд╕рдХреЗ рдмрд╛рдж
00:52:25рдЕрдкрдиреЗ рдЕрдкрдиреЗ рдЕрдкрдиреЗ рдЕрдкрдиреЗ рд╕реЗ рдЕрдкрдиреЗ рд╕реЗ рдЕрдкрдиреЗ рд▓рдЧрд╛рдБ рдХрд╛ рд▓реЗрдХреНрд╡рд╛рдБ рдкрддрд╛ рд╣реИ рдпрд╣рд╛рдБ рдмрд╛рджреЗ рдХрд╛ рдЯреВ рд░реВрдм
00:52:37рд╣реВрдБ
00:52:53рднреБрдБ
00:52:55рдПрдХреНрд╕реНрдЯреНрд░ рд░реЗрдбреНрдпреВрд╕рд░ рдмреЗрд╕рд┐рдХрд▓рд┐ рдХрд╛рдо рдЖрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдЕрдкрдирд╛ рдЕрд╕рд┐рдВрдЧ рдердВрдХ рдмрдирд╛рдпрд╛ рд╣реИ рдЙрд╕ рдердВрдХ рд╕реЗ рдЬреЛ рднреА рд░реИрд╕реНрдкреЛрдВрд╕ рдЖрдЧрд╛ рдЙрд╕рдХреЛ рдЖрдк рдПрдХреНрд╖рд╛ рд░реЗрдбреНрдпреВрд╕рд░ рдХреЗ рдереВрдБ рдпрд╣рд╛рдВ рдкрд░ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╣реЛ рдареАрдХ рд╣реИ рдПрдХреНрд╕реНрдЯреНрдЮ рд░реЗрдбреНрдпреВрд╕рд░ рдареАрдХ рд╣реИ
00:53:10Reducers рдЖрдкрдиреЗ рд╕реИрдЯ рдХрд░рд╛
00:53:23рдЙрд╕ Reducers рдХреЗ рдмрд╛рдж рд╣реА рдЖрдкрдХрд╛ Extra Reducers рдЖрддрд╛ рд╣реИ
00:53:26рдпрд╣ рд░рд╣рд╛ рдЖрдкрдХрд╛ Reducers
00:53:29рдЗрд╕рдХреЗ рдмрд╛рдж рд╣реА рдЕрдкрди рдпрд╣рд╛рдБ рдкрд░ рд▓рдЧрд╛рддреЗ рд╣реИрдВ
00:53:31рдЕрдкрдирд╛ Extra Reducer рдареАрдХ рд╣реИ
00:53:33рдФрд░ рдпрд╣рд╛рдБ рдкрд░ рдЕрдкрди рдмрд▓рд╛рддреЗ рд╣реИрдВ
00:53:35рдЕрдкрдирд╛ Extra Reducer рдХреЛ
00:53:36Extra Reducer basically рдХреНрдпрд╛ рдХрд╛рдо рдЖрддрд╛ рд╣реИ
00:53:38рдпрд╣рд╛рдБ рдкрд░ рдЬреЛ рднреА рдЖрдкрдХреЗ рдкрд╛рд╕ response рдЖрдПрдЧрд╛
00:53:41рд╡реЛ response рдЖрдк рдпрд╣рд╛рдБ рдкрд░ рдирд┐рдХрд╛рд▓рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ
00:53:42рдпрд╣ function рд╣реА рджреЗрддрд╛ рд╣реИ
00:53:43рдпрд╣ рдЖрдкрдХрд╛ Extra Reducer рд╣реИ
00:53:47рдФрд░ рдпрд╣ рдХрд╛рдо рдЖрддрд╛ рд╣реИ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЬреЛ рднреА response рдЖрдПрдЧрд╛
00:53:50рдЙрд╕ response рдХреЛ get рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
00:53:51рдЗрд╕рдХреЗ рдЕрдВрджрд░ рдЕрдкрдиреЗ рдкрд╛рд╕ рдЕрдкрдирд╛ builder рдЖрддрд╛ рд╣реИ
00:53:54рдореИрдВ рдпрд╣рд╛рдБ рдкрд░ рдХрд╣рддрд╛ рд╣реВрдБ builder
00:53:55рдареАрдХ рд╣реИ рдФрд░ рдЗрд╕реА рдХреЗ рдереНрд░реВ рдЕрдкрди рдпрд╣рд╛рдБ рдкрд░ рдЕрдкрдиреЗ response рдХреЛ рдирд┐рдХрд╛рд▓реЗрдВрдЧреЗ
00:53:59рдЬреИрд╕реЗ рдЕрдЧрд░ рдЖрдк рдпрд╣рд╛рдБ рдкрд░ рдЪрдХ рдХрд░рддреЗ рд╣реВрдБ рдЗрд╕рдиреЗ рднреА рдпрд╣реА рд╕реЗрдо рдХрд╛рдо рдХреЛ рд░рд╣рд╛ рд╣реИ
00:54:01builder рдЕрдкрдиреЗ рдкрд╛рд╕ рдЖрддрд╛ рд╣реИ рдЙрд╕рдореЗрдВ рд╕реЗ add case рдореЗрдВ рд╕реА рдпрд╣ рдкрд░
00:54:03рдЬреЛ рднреА data рд░рд╣рд╛ рд╣реИ рдЙрд╕ data рдХреЛ рдпрд╣рд╛рдБ рдкрд░ рдпрд╣ рдирд┐рдХрд╛рд▓ рд░рд╣рд╛ рд╣реИ
00:54:06loading state рднреАрдЬрд╝ рд░рд╣рд╛ рд╣реИ рдПрдХреНрд╕реЗрдВрдЯ рдкреНрд░рд┐рд▓реВрдб рдХреЗ рдЕрдВрджрд░ рдЬреЛ data рд░рд╣рд╛ рд╣реИ рд╡реЛ рдпрд╣рд╛рдБ рдкрд░ рдирд┐рдХрд╛рд▓ рд░рд╣рд╛ рд╣реИ
00:54:09рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ рдареАрдХ рд╣реИ рддреЛ рдПрдХ рдмрд╛рд░ рдореИрдВ рдпрд╣рд╛рдБ рдкрд░ create рдХрд░рддрд╛ рд╣реВрдБ рдлрд┐рд░ рд╕рдордЭрд╛рддрд╛ рд╣реВрдБ
00:54:14рддреЛ рдореИрдВ рдпрд╣рд╛рдБ рдкрд░ рдЕрдкрдиреЗ builder рдХреЛ рдмрд▓рд╛рддрд╛ рд╣реВрдБ
00:54:18рдФрд░ рдлрд┐рд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдЙрд╕рдореЗрдВ рд╕реЗ add case рдЕрдкрди рдпрд╣рд╛рдБ рдкрд░ рдирд┐рдХрд╛рд▓ рд▓реЗрддреЗ рд╣реИрдВ
00:54:22рдФрд░ рдЙрд╕рдХреЗ рдЕрдВрджрд░ рдЬреЛ рдЕрдкрдирд╛ рдпрд╣рд╛рдБ рдкрд░ рдХреНрдпрд╛ рдерд╛ рдЕрдкрдиреЗ рдкрд╛рд╕ save card
00:54:27рдЗрд╕ save card рдХреЛ рдореИрдВ рдпрд╣рд╛рдБ рдкрд░ рдмрд▓рд╛ рд▓реЗрддрд╛ рд╣реВрдБ
00:54:29рдЬреЛ рдЕрдкрдиреЗ рдкрд╛рд╕ рдЕрдкрдирд╛ save card рдерд╛ рдЙрд╕реА рдореЗрдВ рд╕реЗ рдЕрдкрди рдпрд╣рд╛рдБ рдкрд░ рдХрд╣ рджреЗрддреЗ рд╣реИ рдЕрдкрдирд╛ fulfill
00:54:34рдареАрдХ рд╣реИ рдЕрдЧрд░ fulfill рд╣реЛрддрд╛ рд╣реИ рддреЛ
00:54:36рдХреНрдпреЛрдВрдХрд┐ fulfill рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
00:54:38рдФрд░ рдЕрдкрдиреЗ рдкрд╛рд╕ рдХреНрдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
00:54:39reject рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рддреЛ рдЕрдкрдиреЗ рдХреЛ рддреЛ рдЕрдЧрд░ fulfill рд╣реЛрддрд╛ рд╣реИ
00:54:41рддреЛ рдЙрд╕рдХрд╛ response рдореИрдВ рдпрд╣рд╛рдБ рдкрд░ рдирд┐рдХрд╛рд▓ рд░рд╣реВрдБ
00:54:43fulfill рд╣реЛрддрд╛ рд╣реИ рддреЛ fulfill рд╣реЛрдиреЗ рдкреЗ
00:54:45рдЬреЛ рднреА response рдЖрдПрдЧрд╛ рд╡реЛ рдЕрдкрди рдпрд╣рд╛рдБ рдкрд░
00:54:47рдирд┐рдХрд╛рд▓ рд▓реЗрдВрдЧреЗ рдареАрдХ рд╣реИ рдПрдХ рддреЛ рдореИрдВ рдЖрдкрд░ рдХрд╣рддрд╛ рд╣реВрдБ рдЕрдкрдирд╛ state рдФрд░ рдПрдХ рдЕрдкрдиреА рдЖрдкрд░ рдХрд╣рд▓реЗ рддреЗ рдЕрдкрдиреЗ actions рдареАрдХ рд╣реИ рдпреЗ рджреВ рдЪреАрдЬрд╝реЗ рдЕрдкрдиреЗ рдкрд╛рд╕ рдпрд╣рд╛рдБ рдкрд░ parameter рдЖрддреЗ рд╣реИ state рдФрд░ action рдареАрдХ рд╣реИ рдФрд░ рдПрдХ рдмрд╛рд░ рдХреЗ рд▓рд┐рдП рдореИрдВ рдЖрдкрд░ console рдХрд░рд╡рд╛ рдХреЗ рджреЗрдЦ рд▓реЗрддрд╛ рд╣реВрдБ рдХрд┐рд╕рдХреЛ рдЕрдкрдиреЗ card save рдХреЛ рдореИрдВ рдЖрдкрд░ рдХрд╣рддрд╛ рд╣реВрдБ рдХрд┐ рдореЗрд░
00:55:17рдпрд╣рд╛рдБ рдкрд░ рдЗрд╕рдиреЗ рдХреНрдпрд╛ рдмрддрд╛ рд░рд╣рд╛ рд╣реИ рдареАрдХ рд╣реИ рдЕрдЧрд░ рдЖрдк rejected рднреА рдирд┐рдХрд╛рд▓рдирд╛ рдЪрд╛рдУ рдкреИрдВрдбрд┐рдВрдЧ рднреА рдирд┐рдХрд╛рд▓рдирд╛ рдЪрд╛рдУ рдпреЗ рднреА рд╕рд╛рд░реА рдЪреАрдЬрд╝реЗ рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдареАрдХ рд╣реИ рдЗрд╕рдореЗрдВ builder рдореЗрдВ рд╕реАрдХрд░ рдХреЗ рдЗрд╕рдиреЗ рдирд┐рдХрд╛рд▓рд╛ рд╣реИ рдФрд░ рдареАрдХ рд╣реИ рдкреИрдВрдбрд┐рдВрдЧ рдХрд╛ рднреА рдЖрдкрди рдирд┐рдХрд╛рд▓ рд▓реЗрдВрдЧреЗ рдкрд╣рд▓реЗ рдПрдХ рдмрд╛рд░ рдЕрдкрди рджреЗрдЦрддреЗ рдХрд┐
00:55:47рдПрдХ рдмрд╛рд░ рдЖрдЬрд╛рдУ рдФрд░ рдПрдХ рдмрд╛рд░ console рдореЗрдВ рдЖрдХреЗ рдЪреЗрдХ рдХрд░ рд▓реЛ рдЖрдк рд╕рд┐рд░реНрдл console рдореЗрдВ рдЖрдУ рдФрд░ рдореИрдВрдиреЗ to cart рдХрд░рд╛ рдФрд░ рдореИрдВ cart рдХреА рдЙрдкрд░ рдЖрдХреЗ рдЪреЗрдХ рдХрд░рддрд╛ рд╣реВрдБ
00:55:58access denied no token provided рдмрддрд╛ рд░рд╣реА рд╣реИ рдареАрдХ рд╣реИ рддреЛ рдЪрд▓реЛ рдПрдХ рдмрд╛рд░ рдЕрдкрди рдЖрдХреЗ рдЪреЗрдХ рдХрд░рддреЗ рд╣реИрдВ application рдЯреЛрдХрди рддреЛ рд╣реИ рдХреЛрдИ рджрд┐рдХреНрдХрдд рд╣реА рдирд╣реАрдВ рд╣реИ рдЯреЛрдХрди рдЙрд╕рдХреЛ рдПрдХ рдмрд╛рд░ expire рдХрд░ рджреЛ рдФрд░ рдлрд┐рд░ рд╕реЗ рдЖрдк рдпрд╣рд╛рдБ рдкрд░ рдЗрд╕рдХреЛ refresh рдХрд░ рд▓реЛ рдФрд░ рдПрдХ рдмрд╛рд░ console рдореЗрдВ рдЖрдХреЗ рдЪреЗрдХ рдХрд░реЛ рдФрд░ рдЖрдк рдПрдХ to cart рдХрд░реЛ рдФрд░ рдпрд╣рд╛рдБ рдкрд░ рдЖрдХреЗ рдЪреЗрдХ рдХрд░реЛ
00:56:19access denied no token provided рдареАрдХ рд╣реИ рдПрдХ рдмрд╛рд░ рдХреЗ рд▓рд┐рдП рдореИрдВ рдпрд╣рд╛рдБ рдкрд░ рдЖрддрд╛ рд╣реВрдБ рдФрд░ login рдЕрдкрди рдХрд░рддреЗ рд╣реИрдВ login рдХрд░рдХреЗ рдЖрддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ login рдХрд░рдиреЗ рдкрд░ рд╣реА tokens рдЖрдкрдХреЗ generate рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд╣реИ рдпрд╣ рд▓реЛрдЧ рдЗрди рдХрд░ рд▓рд┐рдП рдЖрдкрдиреЗ successfully login рдЖрдкрдиреЗ add to cart рдХрд░рд╛ рдФрд░ рдпрд╣рд╛рдБ рдкрд░ рдЖрдХреЗ рдЖрдкрдиреЗ
00:56:46save рдХрд░рд╛ рдФрд░ рдпрд╣ рдмрддрд╛ рд░рд╣рд╛ рд╣реИ access denied no token provided рдпрд╣ рддреЛ рдЪрд▓реЛ perfect рд╣реИ cart save undefined рдмрддрд╛ рд░рд╣рд╛ рд╣реИ undefined payload undefined рдЖ рд░рд╣рд╛ рд╣реИ рдРрд╕рд╛ рдХреНрдпреЛрдВ
00:56:58рдХреНрдпреЛрдВ рдпрд╣ рдпрд╣рд╛рдБ рдкрд░ рдЕрдкрдиреЗ рд╕рд┐рд░реНрдл рдХреНрдпрд╛ рдХрд░рд╡рд╛ рд░рд╣рд╛ рд╣реИ рдЗрд╕рдХреЛ return рдирд╣реАрдВ рдХрд░рд╡рд╛ рд░рд╣рд╛ рд╣реИ рдЕрдкрдиреЗ рдпрд╣рд╛рдБ рдкрд░ return рднреА рддреЛ рдХрд░рд╡рд╛рдирд╛ рдкрдбрд╝реЗрдЧрд╛ рдЗрд╕рдХреЛ рдпрд╣рд╛рдБ рдкрд░ рдпрд╣ рдЬреЛ рдЖрдкрдХрд╛
00:57:28рдпрд╣рд╛рдБ рд╕реЗ рдЗрд╕ рддрд░реАрдХреЗ рд╕реЗ рдирд╛ рд▓рд┐рдЦрдХреЗ variable рдореИрдВ sign рдирд╛ рдХрд░рдХреЗ рдпрд╣рд╛рдБ рд╕реЗ рдХреНрдпрд╛ рдЧрд░реЛ рдЗрд╕рдХреЛ return рдХрд░ рджреЛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ return рд╣реЛ рдХрд┐ рд╣реА рдЖрдкрдХрд╛ extra reducer рдореЗрдВ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ
00:57:39рдлрд┐рд░ рд╕реЗ рдЖрдУ, add to cart рдХрд░реЛ, рдЖрдХреЗ check рдХрд░реЛ, cart save, access denied, note open provided
00:58:09рддреЛрдХрдиреНрд╕ рдпрд╣рд╛рдБ рдкрд░ рдирд╣реАрдВ рдЬрд╛ рд░рд╣реЗ рд╣реИ рдЗрд╕реЗ рдЗрд╕реЗ рдмреАрд░рд░ рдЖрдкрдиреЗ рдпрд╣рд╛рдБ рдкрд░ рд▓рд┐рдЦрд╛ рдФрд░
00:58:36рдЯреЛрдХрди рдЖрдкрдиреЗ рдпрд╣рд╛рдБ рдкрд░ рдкрд╛рд╕ рдХрд░реЗрдВ рдЖрдкрдХреЗ, local storage.get item рдЯреЛрдХрди рдЖрдкрдиреЗ рдпрд╣рд╛рдБ рд▓рд┐рдЦрд╛ рд╣реИ, perfect, рдХреЛрдИ рджрд┐рдХреНрдХрдд рд╣реА рдирд╣реАрдВ рд╣реИ, рдареАрдХ рд╣реИ, рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдЖрдк рдпрд╣рд╛рдБ рдкрд░ user.gs рдХреА рдЙрдкрд░, рдпрд╣рд╛рдБ рдкрд░ auth рдХреЗ, through рдЖрдк рдпрд╣рд╛рдБ рдкрд░ рджрд┐рдЦ рд░рд╣реЗ рд╣реЛ, рддреЛ рдЖрдкрдиреЗ рдкрд╛рд╕ request.header.authorization рдЖрдкрдиреЗ рдпрд╣рд╛рдБ рдкрд░ рдкрд╛рд╕ рдХрд░рд╛ рд╣реИ, рдлрд┐рд░
00:59:06рдФрд░ рдЕрдЧрд░ рдЯреЛрдХрди рдпрд╣рд╛рдБ рдкрд░ рдЖ рд░рд╣реЗ рд╣реИрдВ, рдорддрд▓рдм рдпрд╣ рдпрд╣реАрдВ if рдкрд░ рд╣реА рдЖрдХреЗ рд░реБрдХ рд░рд╣рд╛ рд╣реИ, рдЙрд╕рдХреЗ рдмрд╛рдж рддреЛ рдЖрдЧреЗ рдЬрд╛рд╣реАрдВ рдирд╣реАрдВ рд░рд╣реА рд╣реИ. рдЪреАрдХ рд╣реИ, рдЪрд▓реЛ рджреЗрдЦрддреЗ рд╣реИрдВ рдЗрд╕ рдЪреАрдЬ рдХреЛ, рдпрд╣рд╛рдБ рддрдХ рдХреА рдЪреАрдЬ рдЖрдк рд╕рднреА рдХреЛ рд╕рдордЭ рднрд╛рдПрдВ рдХреНрдпрд╛, рдпрд╣рд╛рдБ рддрдХ рдХреА рдЪреАрдЬ рдЖрдк рд╕рднреА рдХреЛ clear рд╣реИ рдХреНрдпрд╛, рдЗрд╕рдХреЛ рдЕрдкрди next
00:59:36рдЗрддрдирд╛ complex рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ easy рд╣реИ, рдЕрдЧрд░ рдЖрдк step by step рд╕рдордЭреЛрдЧреЗ рдЗрд╕рдХреЛ, рдареАрдХ рд╣реИ, extra reducer рдХреНрдпрд╛ рдерд╛, extra reducer рдЕрдЧрд░ рдЕрдкрдиреЗ рдкрд╛рд╕ рдХреЛрдИ рднреА response рдЖрддрд╛ рд╣реИ рдЕрдкрдиреЗ, рдпрд╣рд╛рдБ рдкрд░ slice рдХреЗ рдЙрдкрд░ рддреЛ рдЙрд╕рдХреЛ рдЕрдкрди рдпрд╣рд╛рдБ рдкрд░ рдЗрд╕ рддрд░реАрдХреЗ рд╕реЗ рдирд┐рдХрд╛рд▓рддреЗ рдЕрдкрдиреЗ extra reducer рдХреЗ рдерд╛, рдареАрдХ рд╣реИ, рдЬреЛ рдЕрдкрдиреЗ рдкрд╛рд╕ reducers рд╣реЛрддрд╛ рд╣реИ, рдЙрд╕рдХреЗ я┐╜
01:00:06рдЗрд╕рдХреЛ рдПрдХ flow wise, рдареАрдХ рд╣реИ, рдЖрдЬ рдереЛрдбрд╝рд╛ рдерд╛ flow рдЕрдкрдиреЗ рд╕рд╣реА рдирд╣реАрдВ рд░рдЧрд╛, рд╢рд╛рдпрдж рддреЛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдХреБрдЫ flow, рдХреБрдЫ flow рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрдпрд╛ рд╣реЛрдЧрд╛,
01:00:14simple use рдХрд╣рд╛рдВ рдХрд░реЗ JWT рдХреЛ, JWT рдХрд╛ simple use рдирд╣реАрдВ рд╣реЛрддрд╛, JWT use рдХрд░рдирд╛ рдереЛрдбрд╝рд╛ рд╕рд╛ complex рд░рд╣рддрд╛ рд╣реИ, рдЕрдЧрд░ рдЖрдкрдХреЛ flow рдЪреАрдЬрд╝реЗ рдЕрдЪреНрдЫреЗ рд╕реЗ рд╕рдордЭ рдореЗрдВ рдЖ рд░рд╣реА рд╣реИ, рддреЛ рдЖрдк рдЗрд╕рдХреЛ easily use рдХрд░ рд╕рдХрддреЗ рд╣реЛ, рдареАрдХ рд╣реИ, рдмрд╕ рдЪреАрдЬрд╝реЗ hit рдХрд░рд╡рд╛рдирд╛ рдФрд░ рдЪреАрдЬрд╝реЗ рдХреЛ рдирд┐рдХрд╛рд▓ рдХреЗ рд╕рд╣реА рдЬрдЧреЗ рд▓реЗрдХреЗ рдЬрд╛рдирд╛, рдпрд╣реА рдХрд╛рдо рдЕрдЧрд░ рдЖрдкрдХреЛ рдЖрдкрдХреЛ рдЖрдк JWT
01:00:44рд╕рд░, user рдХрд╛ detail, site owner рджреЗрдЦ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХреА password, рд╣рд╛рдБ рдЕрдЧрд░ рдЖрдк рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣реЛ рддреЛ рд▓реЗрдХрд┐рди password рджрд┐рдЦрд╛рдиреЗ рдХрд╛ рдХреЛрдИ sense рд╣реА рдирд╣реАрдВ рд╣реИ, рдорддрд▓рдм рдЬреЛ user, user рдЪреЗрдХ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди admin рдХреЛ рдЪреЗрдХ рдХрд░рд╡рд╛рдиреЗ рдХрд╛ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ, рдкрд╛рд╕рд╡рд░ рдХрд╛, рдЖрдк рдЪреЗрдХ рдХрд░рдирд╛ рдЪрд╛рд╣реЛ рддреЛ рдХрд░ рд╕рдХрддреЗ рд╣реЛ, profile рдХреЗ рдЙрдкрд░ рдЬрд╛рдХреЗ changes рдХрд░ рд╕рдХрддреЗ рд╣реЛ, рдпрд╣ рдЖрдкрдХ
01:01:14рдЪреЛрдЯреЗ рдореЛрдЯреЗ task рд╣реИрдВ рдЬреЛ рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реЛ, рдмрд┐рд▓реНрдЧреБрд▓ easy рд╣реИ, рдЖрдкрдХреЛ data рдирд┐рдХрд╛рд▓ рдХреЗ рд▓рд┐рдЦрд╛рдирд╛ рд╣реИ рдФрд░ password рджрд┐рдЦрд╛рдирд╛ рд╣реИ, рдмрд╕ рдЗрддрдирд╛ рд╕рд╛ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИ, profile рдЕрдкрдбреЗрдЯ рдХрд░рд╡рд╛рдирд╛ рддреЛ рдЖрдкрдХреЛ рдмрд╣реБрдд рдЕрдЪреНрдЫреЗ рд╕реЗ рдЖрддрд╛ рд╣реИ, рдЖрдк рдЙрд╕рдХрд╛ name рдЕрдкрдбреЗрдЯ рдХрд░рд╛ рд╕рдХрддреЗ рд╣реЛ, user name рдХрд░рд╡рд╛ рд╕рдХрддреЗ рд╣реЛ, email id рдЕрдкрдбреЗрдЯ рдХрд░рд╡рд╛ рд╕рдХрддреЗ рд╣реЛ, я┐╜
01:01:44JWT рдХреЗ рдкрд╛рд╕ user details рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдорддрд▓рдм
01:02:14рдЕрдм рдХреНрдпрд╛ pending рд╣реИ, рдЕрдм рдЕрдкрдирд╛ JWT pending рд╣реИ рдФрд░ рдЕрдкрдирд╛ рдЬреЛ second рдХрд╛рдо рд╣реИ, рд╡реЛ рдЕрдкрдирд╛ рдпрд╣рд╛рдБ рдкрд░ payment рд╡рд╛рд▓рд╛ рдХрд╛рдо pending рд╣реИ, рдлрд┐рд░ рдЕрдкрдирд╛ рдпрд╣ project complete рд╣реИ, рдареАрдХ рд╣реИ, рдлрд┐рд░ рдЕрдкрдирд╛ рдпрд╣ project complete рд╣реИ
01:02:44рдареАрдХ рд╣реИ, рдЖрдЬ рдХреА class рдЗрддрдиреА рдорд┐рд▓рддреЗ рд╣реИ, рдлрд┐рд░ рдЕрдкрдирд╛ рдЕрдкрдиреЗ next рд╡рд╛рд▓реА class рдХреЗ рдЕрдВрджрд░
01:02:51attendance рдХреЗ point 1, yes, рдмрд┐рд▓реНрдХреБрд▓ attendance рдХрд╛ рдореИрдВ рдЖрдкрдХреЛ point 1 рдмрддрд╛ рджреЗрддрд╛ рд╣реВрдБ, attendance рдХрд╛ point 1 рдХреЗ рдЕрдВрджрд░ рдЖрдкрдХреЛ рдХреНрдпрд╛ mention рдХрд░рдирд╛ рд╣реИ, JWT attendance рдХрд╛ point 1 рд╣реИ
01:03:05рдФрд░ attendance рдХреЗ point 2 рдХреЗ рдЕрдВрджрд░ рдЖрдкрдХреЛ mention рдХрд░рдирд╛ рд╣реИ, skills, рдареАрдХ рд╣реИ, рдпрд╣ attendance рдХреЗ point 1 рдФрд░ point 2 рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ fill рдХрд░рдиреЗ рд╣реИ
01:03:14рдЕрд░реНрдЬреБрди рдХрд░реЗрдВ рдкрдВрджреНрд░рд╛ рдХреЛ рдЬреЛ class start рд╣реЛрдЧрд╛ рддреЛ horse рд╣реЛрдЧрд╛ рдХреНрдпрд╛
01:03:19рд╣рд╛рдБ рдкрдВрджреНрд░рд╛ рдХреЛ рдЬреЛ class start рд╣реИ рд╡реЛ class рдирд╣реАрдВ рд╣реИ
01:03:23рдкрдВрджреНрд░рд╛ рдХреЛ workshop рд╣реИ рдЬрд┐рд╕рдХреЗ рдЕрдВрджрд░ рдореИрдВ рдЖрдкрдХреЛ рдЬреЛ рдирдпрд╛ рдмреИрдЪ рдЖ рд░рд╣рд╛ рд╣реИ
01:03:26рдЙрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд╛рд░реЗ рдЪреАрдЬреЗ рдмрддрд╛рдиреЗ рд╡рд╛рд▓рд╛ рд╣реВрдБ
01:03:28рдлреБрд▓ рд╕реНрдЯреИрдХ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдорд╛рди рд╕реНрдЯреИрдХ рдФрд░ рдХреНрдпрд╛ рдХреНрдпрд╛ рдЯреЗрдХреНрдиреЛрд▓реАрдЬреА рдЕрдкрди рдкрдврд╝рдиреЗ рд╡рд╛рд▓реЗ рд╣реИрдВ
01:03:33рдХреНрдпрд╛ рдХреНрдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрд╕ рдЕрдкрди рджреЗрдЦрдиреЗ рд╡рд╛рд▓реЗ рд╣реИрдВ рд╣рд░ рдПрдХ рдЪреАрдЬ рдЙрд╕рдореЗрдВ рдореИрдВ рдЖрдкрдХреЛ explain рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реВрдБ
01:03:38рдареАрдХ рд╣реИ рддреЛ рд╡реЛ workshop рд╕рд┐рд░реНрдл рдЕрдкрдиреЗ рдирдпрд╛ рдмреИрдЪ рдХреЗ рд▓рд┐рдП рд░рдЦреА рдЧрдИ рд╣реИ
01:03:43рддреЛ I hope рдХрд┐ рдЖрдк рд╕рднреА рдЙрд╕рдХреЛ join рдХрд░реЛрдЧреЗ
Recommended
1:01
1:02:22
1:02:19
Be the first to comment