0:00
рдЕрдкрдиреЗ рдкрд┐рдЫрд▓реЗ рд╡реАрдбрд┐рдпреЛ рдореЗрдВ рд╣рдо рд▓реЛрдЧреЛрдВ рдиреЗ рд╕рдордЭрд╛ рдмрд╣реБрдд рд╣реА рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд┐ рдХрд┐рд╕ рддрд░рд╣ рд╕реЗ рдкрд╛рд╕рд╡рд░реНрдб рдХрд╛ рд╣реИ рд╢реЙрдЯ рдФрд░ рдкреИрдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд▓реЛрдЧреЛрдВ рдиреЗ рдмреЛрд▓рд╛ рдХрд┐ рдпрд╛рд░ рдЗрддрдирд╛ рдХреБрдЫ рд╕рдордЭрд╛рдиреЗ рдХреА рдХреНрдпрд╛ рдЬрд░реВрд░рдд рдереА рдмрдЯ рдпрд╣ рдЬрд░реВрд░рдд рдереА рдХреНрдпреЛрдВрдХрд┐ рдЕрдЧрд░ рдореИрдВ рдбрд┐рд░реЗрдХреНрдЯрд▓реА рдЗрдВя┐╜
0:30
рд▓реВрдВрдЧрд╛ рдХрд┐ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рддреЛ рдпрд╣ рдЬреЛ рдореИрдВрдиреЗ рдЖрдкрдХреЛ рдкрд┐рдЫрд▓реА рд╡реАрдбрд┐рдпреЛ рдореЗрдВ рдерд┐рд░реА рдмрддрд╛рдИ рдереА рдЙрд╕рдХреЛ рдпрд╣рд╛рдВ рдкрд░ рд╣рдо рдЗрдВрдкреНрд▓реЗрдореЗрдВя┐╜
0:35
рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣рдо рд▓реЛрдЧ рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдХрд┐рд╕ рддрд░рд╣ рд╕реЗ рд╣рдо рдЕрдХреНрд╢рди рдореЗрдВ рд╕реЙрд▓реНрдЯ рд╡рдЧреИрд░рд╣ рдЬрдирд░реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддя┐╜
0:41
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рддреЛ рдореИрдВ рдХреНрдпрд╛ рдХрд░реВрдВрдЧрд╛ рдЖрдк рд▓реЛрдЧреЛрдВ рдХреЛ рдмреЛрд▓реВрдВрдЧрд╛ рдХрд┐ рдЖрдк node.json index.js рдХрд░ рд▓реЛ рддрд╛рдХрд┐ рд╕рд░реНрд╡рд░ рд╕реНрдЯрд╛рд░реНрдЯ рд╣реЛ рдЬрд╛рдП рдареАрдХ рд╣реИ рд╡реЛ рддреЛ рдЖрдкрдХреЛ рдорд╛рд▓реВрдо рд╣реИ рдмрдЯ рдФрд░ рдЙрд╕реА рдХреЗ рд╕рд╛рде рд╕рде рдЖрдк рд▓реЛрдЧ рд▓рд┐рдЦреЛ npm install bcrypt.js рдЕрдм рдпрд╣ bcrypt.js рдХреНрдпрд╛ рд╣реИ рдЖрдк рд▓реЛрдЧ рдХрд╣реЛрдЧреЗ рддреЛ bcrypt.js рдПрдХ package рд╣реИ рдПрдХ node.js package рд╣реИ bcrypt
1:11
рдЖрдк рдпрд╣рд╛рдБ рдкрд░ salt generate рдХрд░ рд╕рдХрддреЗ рд╣реЛ, рдЖрдк hash create рдХрд░ рд╕рдХрддреЗ рд╣реЛ
1:15
рдЕрдм hash sync рдХрд░рдХреЗ рднреА рдПрдХ function рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдХреА blocking function рд╣реЛрддрд╛ рд╣реИ, рд╣рдореЗрдВ blocking function рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИ
1:21
рдпрд╣рд╛рдБ рдкрд░ рд╣рдо await рдпреВрдЬрд╝ рдХрд░реЗрдВрдЧреЗ, рдФрд░ bcrypt.hash рдХреЛ рдпреВрдЬрд╝ рдХрд░реЗрдВрдЧреЗ, рдЬреЛ рдХреА promise return рдХрд░рддрд╛ рд╣реИ, рдареАрдХ рд╣реИ
1:26
рддреЛ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рддреЛ рд╣рдореЗрдВ obviously import рдХрд░рдирд╛ рдкрдбрд╝реЗрдЧрд╛ bcrypt рдХреЛ рдареАрдХ рд╣я┐╜
1:30
bcrypt install рд╣реЛ рдЧрдпрд╛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реВрдБ рдЗрд╕рдХреЛ terminal рдХреЛ рднреА рдФрд░ bcrypt рдХреЛ import рдХрд░ рд▓реЗрддрд╛ рд╣реВрдБ рдпрд╣рд╛рдБ рдкрд░ рдареАрдХ рд╣я┐╜
1:36
рддреЛ рдореИрдВ рдпрд╣рд╛рдБ рдкрд░ рд▓рд┐рдЦреВрдБрдЧрд╛ const bcrypt is equal to require bcrypt js рдареАрдХ рд╣я┐╜
1:41
рдЙрд╕реА рдХреЗ рд╕рд╛рде рд╕рдм рдореИрдВ рдХреНрдпрд╛ рдХрд░реВрдБрдЧрд╛ рдХрд┐ рдЬрд╣рд╛рдВ рдкрд░ рдореИрдВ рдЕрдкрдиреЗ password рд╕реЗ create рдХрд░ рд░рд╣рд╛ рд╣реВрдБ user рдХреЛ рджреЗрдЦреЛ рдпрд╣рд╛рдБ рдкя┐╜
1:46
рдореИрдВ рдпрд╣рд╛рдБ рдкрд░ рдПрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдБ secured password рдирд╛рдо рд╕реЗ рдПрдХ variable рдмрдирд╛рддрд╛ рд╣реВрдБ рдареАрдХ рд╣реИ user рдХреЛ create рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓я┐╜
1:53
рддреЛ рдореЗрд░рд╛ рдпрд╣ рдЬреЛ secured password рд╣реЛрдЧрд╛ рд╡реЛ рдореБрдЭреЗ рдпрд╣рд╛рдБ рдкрд░ update рдХрд░рдирд╛ рд╣реИ рдареАрдХ рд╣реИ рдЕрднреА рдореЗрд░рд╛ request.body.password
2:00
рдореЗрд░реЗ рдкрд╛рд╕ рд╣реИ рдареАрдХ рд╣реИ рдЬреЛ рдХрд┐ рдореИрдВ рдпрд╣рд╛рдВ рдкрд░ рдЪреЗрдВрдЬ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдЕрдм рджреЗрдЦреЛ рдпрд╣рд╛рдВ рдкрд░ рдЖрдк рд▓реЛрдЧ рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реЛ рдХя┐╜
2:07
рдмреАрдЪ рд░рд┐рдкреНрдЯ рдЬрд╕ рдХреЛ рдРрд╕реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдирд╛ рд╣реИ рдпрд╣ рдореИрдВ рдЖрдк рд▓реЛрдЧреЛрдВ рдХреЛ рдмрддрд╛рддрд╛ рд╣реВрдВ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рддреЛ рд╣рдо рд▓реЛрдЧ рдПрдХ рд╕реЙрд▓реНя┐╜
2:11
рдЬрд╛рдПрдВрдЧреЗ рдЕрдм рдПрдХ рдХреЙрд▓реНрдб рдЗрд╕ рдПрдХреНрд╡рд▓ рдЯреВ рдПрдо рдмреАрдХреНрд░рд┐рдкреНрдЯ рдбреЙрдЯ рдЬрди рд╕реЙрдЯ рдЬреЛ рдлрдВрдХреНрд╢рди рдЖрдк рд▓реЛрдЧ рдЖрд▓рд░реНрдбреА рдмрддрд╛рдпрд╛ рдерд╛ рдбреЙрдХреНрдпреВрдореЗрдВрдЯреЗрд╢я┐╜
2:19
рд▓рд┐рдЦрд╛ рд╣реБрдЖ рдерд╛, bcrypt.gen salt 10 рдЖрдк рдХрд░реЛрдЧреЗ, рддреЛ рдЖрдкрдХреЛ рдПрдХ salt generate рд╣реЛрдХя┐╜
2:23
рдорд┐рд▓реЗрдЧрд╛, рдЙрд╕реА рдХреЗ рд╕рд╛рде рд╕реЗ рдЖрдк рдХреНрдпрд╛ рдХрд░реЛ, рдЬреЛ password рд╣реИ, рдЙрд╕рдХя┐╜
2:27
рдЖрдк рдХреИрд╕реЗ generate рдХрд░реЛрдЧреЗ, bcrypt.hash рдЕрдм рдЖрдк рдореЗрдВ рд╕реЗ рдХрдИ рд▓реЛрдЧ рдХреЛрдИ рдЖрдк рдЧрдпрд╛ рд╣реИ
2:31
рд╣рдордиреЗ salt рдХреЛ store рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░рд╛, рдкрд┐рдЫрд▓реЗ рд╡реАрдбрд┐рдпреЛ рдХреА рдерд┐рд╡рд░реА рдХреЗ рд╣рд┐рд╕рд╛рдм рд╕реЗ рддя┐╜
2:35
salt рдХреЛ рд╣рдореЗрдВ store рдХрд░рдирд╛ рдерд╛ рд▓реЗрдХрд┐рди рдпрд╣рд╛рдБ рдкрд░ рд╣рдордиреЗ salt рдХреЛ store рд╣реА рдирд╣реАрдВ рдХрд░я┐╜
2:39
рддреЛ рдпрд╛рд░ bcrypt рдХрд╛ рдЬреЛ internal mechanism рд╣реЛрддрд╛ рд╣реИ рд╡реЛ рдпрд╣ рд╕рдм рдЪреАрдЬреЛрдВ рдХреЛ рдЕрдкрдиреЗ рд╣рд┐рд╕рд╛рдм рд╕реЗ рдХрд░рддрд╛ рд╣я┐╜
2:43
рддреЛ рдЖрдк рдЬреЛ рдореИрдВрдиреЗ рдкрд┐рдЫрд▓реЗ рд╡реАрдбрд┐рдпреЛ рдореЗрдВ рдмрддрд╛рдП рд╡реЛ directly bcrypt рд╕реЗ map рдордд рдХрд░я┐╜
2:48
рддреЛ рдЖрдИрдбреАрд▓реА рд╕реЙрд▓реНрдб рдХреЛ рд╕реНрдЯреЛрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдмрдЯ рдпрд╣рд╛рдВ рдкрд░ рдмреАрдХ рд░рд┐рдкреНрдЯ рдХрд╛ рдЬреЛ рд╣реИ рд╢реЛрддрд╛ рд╣реИ рд╡рд╣ рдереЛрдбрд╝рд╛ рд╕рд╛ рдХреЙрдореНрдкреНрд▓реАрдХреЗрдЯреЗя┐╜
2:53
рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЗрдВрдЯрд░рдирд▓ рдлрдВрдХреНрд╢рдирд┐рдВрдЧ рдмреАрдХ рд░рд┐рдкреНрдЯ рдХреА рдереЛрдбрд╝реА рд╕реА рдЕрд▓рдЧ рд╣реЛрддреА рдкрд░ рдЬреЛ рдереЛрдбрд╝реА рдкрд┐рдЫрд▓реЗ рд╡реАрдбрд┐рдпреЛ рдореЗрдВ рдмрддрд╛рдЗрдП рдмрд┐рд▓реНрдХреБя┐╜
2:58
рдХрд╛рдо рд╣рдо рд▓реЛрдЧ рдпрд╣рд╛рдВ рдкрд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдпрд╣ рдХреНрдпреЛрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЖрдк рд▓реЛрдЧреЛрдВ рдереЗ рдмрддрд╛рдЗрдП рдереА рдХя┐╜
3:02
рдмрд╣реБрдд рд╕рд╛рд░реЗ рд▓реЛрдЧ рдХрд╣реЗрдВрдЧреЗ рдХрд┐ рдпрд╛рд░ рдХреНрдпреЛрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЗрд╕ рдЪреАрдЬ рдХреЛ рддреЛ рдпрд╣рд╛рдВ рдкрд░ рджреЗрдЦреЛ рдореИрдВрдиреЗ рд▓рд┐рдЦрд╛ рдХреМрди рд╕реАрдЦ рд░реЗя┐╜
3:06
рдкрд╛рд╕рдлрд░реНрдЯ рдЗрд╕ рдЗрдХреЙрд▓ рдЯреВ рдЕрдм рдЗрд╕рдХреЛ рдЕрд╡реЗрдЯ рдХрд░реВрдВрдЧрд╛ рдореИрдВ рдЕрд╡реЗрдЯ рдХреНрдпреЛрдВ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдкреНрд░реЙрдорд┐рд╕ рд░рд┐рдЯрд░реНрди рдХрд░рддрд╛ рд╣реИ рдХреНрдпрд╛ рдореИя┐╜
3:11
рдЕрдкрдиреЗ рдлрдВрдХреНрд╢рди рдХреЛ рдПрд╕рд┐рдВрдХ рдорд╛рд░реНрдХ рдХрд┐рдпрд╛ рд╣рд╛рдВ рдХрд┐рдпрд╛ рдареАрдХ рд╣реИ рдЗрд╕рдХреЛ рдЕрд╡реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рд░рд┐рдЬрди рдЖрдкрдХреЛ рд╕рдордЭ рдореЗрдВ рдЖ рдЧрдпрд╛ рдмреАрдЧреНрд░рд┐я┐╜
3:16
рдФрд░ рдЯрд╛рдЗрд╢ рдЬреЛ рдкрд╛рд╕рдлрд░реНрдЯ рддрдм рд╡рд╣ рджрд┐рдпрд╛ рдФрд░ рд╕реЙрд▓реНрдб рджреЗ рджрд┐рдпрд╛ рдореИрдВрдиреЗ рдХреНрдпрд╛ рдореЗрд░рд╛ рдорд╛рдВрдЧреЛ рдбреАрд╡реА рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдирд╣реАрдВ рдпрд╛рд░ рдореЗрд░я┐╜
3:22
рдорд╛рдВрдЧреЛ рдбреАрд╡реА рдХреЙрдордкрд╕ рдирд╣реАрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ рддреЛ рдореБрдЭреЗ рдорд╛рдВрдЧреЛ рдбреАрд╡реА рдХреЙрдордкрд╕ рдХреЛ рднреА рдЪрд▓рд╛рдирд╛ рд╣реИ рддрд╛рдХрд┐ рдореИрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░ рд╕рдХреВрдВ рдЕрдкрдия┐╜
3:28
activity click create a new user collection body data Boris Mehta B Mehta password scam92021
4:10
database рд╣реИ рдЙрд╕рдХреЗ рдЕрдВрджрд░ рдЬреЛ user collection рд╣реИ рдЙрд╕рдХреЛ рдореИрдВ рдЦреЛрд▓реВрдВрдЧрд╛ refresh рдХрд░реВрдБ data рддреЛ рджреЗрдЦреЛ рд╕рд┐рд░реНрдл 3 user рд╣реИ рдпрд╣рд╛рдБ рдкрд░ рдФрд░ password plain text рдореЗя┐╜
4:17
store рд╣реЛ рд░рд╣рд╛ рд╣реИ рдареАрдХ рд╣реИ рдЕрднреА рдореИрдВ send рдкрд░ click рдХрд░реВрдБрдЧрд╛ рддреЛ рдпрд╣рд╛рдБ рдкрд░ internal server error рдЖ рдЧрдпрд╛ рд╣я┐╜
4:23
рдЬрд░реВрд░ рдореИрдВрдиреЗ рдХреБрдЫ рдЧрд▓рдмрд▓ рдХрд░реА рд╣реИ рджреЗрдЦрддреЗ рд╣реИрдВ рдХреНрдпрд╛ error рд╣реИ рдПрдХ рдмрд╛рд░ рдореИрдВ рджреЗрдЦрдирд╛ рдЪрд╛рд╣реВрдБрдЧрд╛ рдпрд╣ рдХрд╣рд╛ рдЗрд▓реАрдЧрд▓ рдЖрд░реНрдЧреНрдпреВрдореЗрдВрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрдорд╛ рдСрдкреНрдЯреЗрдХреНрдЯ рддреЛ рдпрд╣ рдХрд╣рд╛рдВ рдкрд░ рджрд┐рдХреНрдХрдд рдЖ рд░рд╣реА рд╣реИ рдореБрдЭреЗ рджреЗрдЦрдирд╛ рдкрдбрд╝реЗрдЧрд╛ рдЗрд▓реАрдЧрд▓ рдЖрд░реНрдЧреНрдпреВрдореЗрдВрдЯреНрд╕ рд▓рдЧрддрд╛ рд╣реИ рдореИрдВрдиреЗ рдХреБрдЫ рдЧрдбрд╝рдмрдбрд╝ рдХрд░реА рд╣реИ request.body.password
4:37
or salt, bcrypt.gen salt рдХреНрдпрд╛ bcrypt.gen salt рдЬреЛ рд╣реИ рд╡реЛ рдПрдХ promise return рдХрд░рддрд╛ рд╣я┐╜
4:43
рд╣рд╛рдБ рдпреЗ рдПрдХ promise return рдХрд░рддрд╛ рд╣реИ рддреЛ рд╣рдореЗрдВ рдпрд╣рд╛рдБ рдкрд░ рдХреНрдпрд╛ рдХрд░рдирд╛ рдкрдбрд╝реЗрдЧрд╛ рд╣рдореЗрдВ рдпреВрдЬрд╝ рдХрд░рдирд╛ рдкрдбрд╝реЗрдЧя┐╜
4:47
await рдареАрдХ рд╣реИ рддреЛ рдпрд╣рд╛рдБ рдкрд░ await рдпреВрдЬрд╝ рдХрд░рдирд╛ рдкрдбрд╝реЗрдЧрд╛ рдпрд╣рд╛рдБ рдкрд░ рдня┐╜
4:51
рдЪреБрдХреА рд╡рд░рдирд╛ рдХреНрдпрд╛ рд╣реБрдЖ рдпреЗ promise рд░рд┐рдЬреЙрд▓ рд╣реЛрдЧреА рдирд╣реАрдВ рд╣реИ рдФрд░ рдпреЗ рдбрд┐рд░реЗрдХреНрдЯрд▓реА рдиреЗрдХреНрд╕ рд▓рд╛рдЗрди рдкрд░ рдЪрд▓рд╛ рдЬрд╛рдПрдЧя┐╜
4:55
рдЕрд╡реЗрдЯ рдХрд╛ рдорддрд▓рдм рдХреА рд░реБрдХ рдЬрд╛рдУ рдЬрдм рддрдХ рдпреЗ рдкреНрд░реЙрдорд┐рд╕ рд░рд┐рдЬреЙрд▓ рдирд╛ рд╣реЛ рдЬрд╛рдП рддрдм рддрдХ рд░реБрдХреЛ рдФрд░ рдЗрд╕рдХреА рд╡реИрд▓реНрдпреВ рд▓реЗрдХрд░ рдЬрд╛я┐╜
5:01
рддреЛ рд╕реЙрд▓реНрдЯреА рдЗрд╕рдХреА рд╡реИрд▓реНрдпреВ рд▓реЗрдХрд░ рдиреАрдЪреЗ рдЬрд╛рдПрдЧрд╛ рдареАрдХ рд╣реИ рдЕрдм рдХреНрдпрд╛ рдХрд░ рд▓реЛрдЧреЗ рдмреЙрд░рд┐рд╕ рдореИрдерд░ рдХрд╛ рдЕрдХрд╛рдЙрдВрдб рдореЗрдВ рд▓реЙрдЧ рдЗрди рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдареАрдХ рд╣реИ рддреЛ рдпрд╣ рдЪреАрдЬ рдореИрдВрдиреЗ рдЖрдк рд░рд┐рдореНрдкреНрд▓реАрдореЗрдВя┐╜
5:28
рдХрд░ рджрд┐рдпрд╛ рднреА рдареАрдХ рд╣реИ рддреЛ рдХреНрд░рд┐рдПрдЯ рдЕрдирд┐рдпреВрдЬрд░ рддреЛ рд╣рдорд╛рд░реА рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╣реА рдХрд╛рдо рдХрд░ рд░рд╣реА рд╣реИ рд╡рд╛рд▓реА рдПрдВрдб рдкреЙрдЗрдВрдЯ рдкрд░ рдЬрд░рд╛ рдЖя┐╜
5:34
рдкреВрдЫреЛ рдХрд┐ рдЬрдм рдХреЛрдИ рд▓реЙрдЧ рдЗрди рдХрд░рддрд╛ рд╣реИ рддрдм рдЙрд╕реЗ рд░рд┐рдЯрд░реНрди рдореЗрдВ рдХреНрдпрд╛ рджреЗрдВрдЧреЗ рд╣рдо рдЙрд╕реЗ рд░рд┐рдЯрд░реНрди рдореЗрдВ рдХреНрдпрд╛ рдЙрд╕реА рдХрд╛ рдпреВрдЬрд░ рдиреЗрдо рдФя┐╜
5:39
рд╕рд╛рд░реА рдбрд┐рдЯреЗрд▓реНрд╕ рджреЗрдВрдЧреЗ рдирд╣реАрдВ рд╣рдо рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ рдЬрдм рднреА рдХреЛрдИ рд▓реЙрдЧ рдЗрди рдХрд░реЗрдЧрд╛ рд╣рдо рдЙрд╕рдХреЛ рдПрдХ рдЯреЛрдХреЗрди рджреЗрдВрдЧреЗ рдЕрдм рдЯреЛрдХреЗя┐╜
5:46
рддрд░рд╣ рдХреЗ рд╣реЛрддреЗ рд╣реИрдВ, рдПрдХ session token рднреА рд╣реЛрддрд╛ рд╣реИ, рдПрдХ json web token рднреА рд╣реЛрддрд╛ рд╣реИ, рдЕрд▓рдЧ-рдЕрд▓я┐╜
5:49
рддрд░рд╣ рдХреЗ mechanism рд╣реИ authentication рдХреЗ, рдЗрд╕ particular mern course рдореЗрдВ рдореИрдВ рдЖрдк рд▓реЛрдЧреЛрдВ рдХреЛ use рдХрд░рдХреЗ рджрд┐рдЦрд╛рдКрдВрдЧя┐╜
5:55
JWT authentication, рдЕрдм рдпреЗ JWT authentication рдХреНрдпрд╛ рд╣реИ, рддреЛ рдореИрдВ рдпрд╣рд╛рдБ рдкрд░ рд▓рд┐рдЦреВрдБрдЧрд╛ JWT
6:01
node.js, рддреЛ json web token рдирд╛рдо рдХрд╛ рдПрдХ npm package рд╣реИ, рдЬрд┐рд╕рдХреЛ install
6:05
рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ npm i json web token рдЕрдм рдЖрдк рдореЗрдВ рд╕реЗ рдХрдИ рд▓реЛрдЧ рд╢рд╛рдпя┐╜
6:09
confused рд╣реЛ рдЬрд╛рдПрдБ рдФрд░ рд╕реЛрдЪреЗрдВрдЧреЗ рдХрд┐ рдпрд╛ рдпреЗ json web token рдХреНрдпрд╛ рд╣реИ рддреЛ json web token
6:13
basically рдЕрдЧрд░ рдореИрдВ рдмрд╣реБрдд short рдореИрдВ рдЖрдк рд▓реЛрдЧреЛрдВ рдХреЛ рдмрддрд╛рдКрдВ рддреЛ рдПрдХ рддрд░реАрдХрд╛ рд╣я┐╜
6:17
verify рдХрд░рдиреЗ рдХрд╛ рдПрдХ user рдХреЛ рдХреНрдпреЛрдВрдХрд┐ рдмрд╛рд░ рдмрд╛рд░ user рдЕрдкрдирд╛ user id рдФрд░ password
6:21
рдкрд░ рддреЛ рднреЗрдЬреЗрдЧрд╛ рдирд╣реАрдВ рдореБрдЭреЗ рдорд╛рди рд▓реЛ рдореИрдВрдиреЗ рдПрдХ рдмрд╛рд░ рдпреВрдЬрд░ рдХреЛ рдХреНрд░рд┐рдПрдЯ рдХрд░ рд▓рд┐рдпрд╛ рдареАрдХ рд╣реИ рдпрд╛ рдлрд┐рд░ рдСрдереЗрдВрдЯрд┐рдХреЗрдЯ рдХрд░рд╛ рджрд┐рдпя┐╜
6:27
рдЙрд╕рдХрд╛ рдпреВрдЬрд░ рдЖрдИрдбреА рдкрд╛рд╕рд╡рд░реНрдб рд▓реЗрдХрд░ рдСрдереЗрдВрдЯрд┐рдХреЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдореИрдВ рдПрдХ рдЯреЛрдХреЗрдВрдЯ рджреВрдВрдЧрд╛ рдпреВрдЬрд░ рдХреЛ рдПрдХ рдЯреЛрдХреЗрдВрдЯ рджреВрдВрдЧрд╛ рдФя┐╜
6:33
рдЕрдЧрд▓реА рдмрд╛рд░ рдЬрдм рднреА рдХреЛрдИ рдкреНрд░реЛрдЯреЗрдХреНрдЯреЗрдб рд░рд╛рдЙрдЯ рдореЗрд░реЗ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдпрд╛ рдореЗрд░реЗ рдЗрд╕ рдПрдХреНрд╕рдкреНрд░реЗрд╕ рд╕рд░реНрд╡рд░ рдкрд░ рдпреВрдЬрд░ рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд░рдирд╛ рдкрдбрд╝ рдЧрдпрд╛ рддрдм рд╡реЛ рдХреНрдпрд╛ рдХрд░реЗрдЧрд╛ рдореБрдЭреЗ рд╡реЛ рдЯреЛрдХреЗрди рднреА рднреЗрдЬреЗрдЧрд╛ рддрд╛рдХрд┐ рдореИрдВ рд╡реЗрд░рд┐рдлрд╛рдИ рдХрд░ рд╕рдХреВрдВ рдХрд┐ рдпреЗ рд╡рд╣реА рдпреВрдЬрд░ рд╣реИ рдЬрд┐рд╕рдХреЛ рдореИрдВрдиреЗ рдУрдея┐╜
7:03
algorithm token type data JSON web token signature
7:22
рдЕрдм рдпреЗ signature important рд╣реИ рдореИрдВ рдХреНрдпрд╛ рдХрд░реВрдБрдЧрд╛ рдЬрдм рднреА рдПрдХ JSON web token рдЕрдкрдиреЗ server рд╕реЗ dispatch рдХрд░реВрдБрдЧя┐╜
7:28
рддрдм рдореИрдВ рдЙрд╕рдХреЛ sign рдХрд░реВрдБрдЧрд╛ sign рдХрд░реВрдБрдЧрд╛ рдЕрдкрдиреЗ secret рд╕реЗ рдЕрдм рдЖрдкрдХреЛ рдпрд╛рд░ рдпреЗ рдХреНрдпрд╛ рдмреЛрд▓ рд░рд╣реЗ рд╣реЛрдИ рддреЛ рдореБрдЭреЗ рд╕рдордЭ рдореЗя┐╜
7:34
рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рд╣реИ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реЛ рдЗрд╕ рдмрд╛рдд рдХрд╛ sign рдХрд░реЛ рдЕрдкрдиреЗ secret рд╕реЗ рддреЛ рдореИрдВ рдЖрдкрд░ рдЖрдкрд▓реЛрдЧ рдХя┐╜
7:38
рдмрджрд╛рддрд╛ рд╣реВрдБ рдореИрдВ рдПрдХ рдЕрдкрдирд╛ рдПрдХ constant рдмрдирд╛рдУрдВрдЧрд╛ рдЬреЛ рдХреА ideally рдЖрдк рд▓реЛрдЧ рдПрдХ config file рдореЗрдВ рдпрд╛ рдлрд┐рд░ рдореИрдВрдиреЗ рдЬреИрд╕реЗ рдЖрдкрдХреЛ .env.local рдмрддрд╛рдпрд╛ рдерд╛ рдЙрд╕рдореЗрдВ рдбрд╛рд▓реЛрдЧя┐╜
7:50
but рдореИрдВ рдпрд╣рд╛рдБ рдкрд░ JWT secret рдЬреЛ рд╣реИ рдЙрд╕рдХреЛ рдПрдХ string рдордирд╛ рджреВрдБрдЧрд╛ рдареАрдХ рд╣реИ рдФрд░ рдпрд╣ string рдПрдХ good enough рдЕрдЪреНрдЫреА string рд╣реЛрдиреА рдЪрд╛рд╣рд┐я┐╜
7:58
рдЬреИрд╕реЗ рдорд╛рди рд▓реЛ рдореИрдВ рд▓рд┐рдЦрддрд╛ рд╣реВрдБ Harry is a good B dollar boy рдареАрдХ рд╣я┐╜
8:03
рддреЛ рдпреЗ рдореЗрд░реА string рд╣реИ рдФрд░ рдпреЗ рдореБрдЭреЗ рдХрд┐рд╕реА рдХреЛ рджрд┐рдЦрд╛рдиреА рдирд╣реАрдВ рд╣реИ рдпреЗ рдореБрдЭреЗ рдмрд╣реБрддреА safe рд░рдЦрдиреА рд╣реИ рдФрд░ рдЗрд╕рд╕реЗ рдореИрдВ рдХреНрдпрд╛ рдХрд░реВрдБрдЧя┐╜
8:10
рдЕрдкрдиреЗ web token рдХреЛ sign рдХрд░реВрдБрдЧрд╛ рдареАрдХ рд╣реИ рдЕрдм рдорд╛рди рд▓реЛ рдореИрдВрдиреЗ рдЗрд╕рд╕реЗ рдЕрдкрдиреЗ web token рдХреЛ sign рдХрд░я┐╜
8:16
рдФрд░ web token generate рдХрд░рдХреЗ рдЖрдкрдХреЛ рднреЗрдЬ рджрд┐рдпрд╛ рдЕрдЧрд▓реА рдмрд╛рд░ рдореИрдВ рдпреЗ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реВя┐╜
8:20
рдХрд┐ рдЖрдкрдиреЗ рдЗрд╕рдХреЗ payload data рдХреЛ change рдХрд░рд╛ рд╣реИ рдХрд┐ рдирд╣реАрдВ рдХрд░рд╛ рд╣реИ ideally рдЖрдкрдиреЗ рдЗрд╕рдХреЗ payload data рдХреЛ change рдирд╣реАрдВ рдХрд░рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐я┐╜
8:26
рдЕрдм рдорд╛рдирд▓реЛ рдХрд┐рд╕реА рдиреЗ рдпрд╣рд╛рдБ рдкрд░ рдорд╛рдирд▓реЛ рдореИрдВрдиреЗ json web token рджрд┐рдпя┐╜
8:31
shubhangi рдХреЛ рдареАрдХ рд╣реИ shubhangi рдиреЗ login рдХрд░рд╛ рдореЗрд░реЗ server рдкреЗ рдореИрдВрдиреЗ рдЙрд╕рдХреЛ JSON Web Token рджрд┐рдпрд╛
8:36
рдЕрдм Shubhangi рдирд┐рдХрд▓реА рдЪрд▓рд╛рдЧ, рдЙрд╕рдиреЗ рдХреНрдпрд╛ рдХрд░рд╛, Shubhangi Change рдХрд░рдХреЗ Shivam рд▓рд┐рдЦ рджрд┐рдпрд╛
8:40
рдЕрдм рдЙрд╕рдиреЗ, рдХреНрдпреЛрдВрдХрд┐ Shubhangi Change рдХрд░рдХреЗ Shivam рд▓рд┐рдЦ рджрд┐рдпрд╛, рд╡реЛ expect рдпрд╣ рдХрд░реЗрдЧреА
8:45
рдХрд┐ рдореИрдВ рдЕрдкрдиреЗ server рд╕реЗ Shivam рдХреА information рджреЗрдирд╛ рд╢реБрд░реВ рдХрд░ рджреВрдБрдЧрд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░реВрдБрдЧрд╛, рдореИрдВ рдЗрд╕ signature рдХреЛ verify рдХрд░реВрдБрдЧя┐╜
8:50
рдореИрдВ рдпреЗ рджреЗрдЦреВрдБрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдпреЗ token change рддреЛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣я┐╜
8:54
рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА рдореИрдВ рдЖрдкрдХреЛ рднреЗрдЬреВрдБрдЧрд╛ рдпреЗ рдЪреАрдЬрд╝ рддреЛ рдПрдХ рдмрд╣реБрдд рдЕрдЪреНрдЫреА security рд╣реЛ рдЬрд╛рддреА рд╣я┐╜
8:59
рдПрдХ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ JWT рдХрд╛ рд╡реАрдбрд┐рдпреЛ рд╣реИ рд╡реЛ рдореИрдВ рдЕрд▓рдЧ рд╕реЗ рдПрдХ рдмрд╛рд░ рдмрдирд╛ рджреВрдБрдЧя┐╜
9:03
рдЗрд╕реА рдЪреИрдирд▓ рдкрд░ рдмрдирд╛ рджреВрдБрдЧрд╛, рдореИрдВ рдпрд╣рд╛рдБ рдкрд░ рдмрд╣реБрдд рдЬрд╝рд░рд╛ рдбрд┐рд╕рдХрд╕ рдирд╣реАрдВ рдХрд░реВрдБрдЧрд╛ JWT рдХя┐╜
9:07
рдмрд╕ рдЖрдкрдХреЛ рдЬреИрд╕рд╛ рд╕рдордЭ рд▓реЛ рдХрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рдХреЗ рдмреАрдЪ рдореЗрдВ рдмрд╣реБя┐╜
9:10
рд╕рд┐рдХреНрдпреВрд░ рдХрдореНрдпреБрдирд┐рдХреЗрд╢рди рдХрд░рдирд╛ рдлреИрд╕рд▓рд┐рдЯреЗрдЯ рдХрд░рд╡рд╛рддрд╛ рд╣реИ JWT рдУрдердирд┐рдХреЗрд╢рди, рдареАрдХ рд╣реИ рдЕрдм рдХрд┐рд╕ рддрд░рд╣ рд╕реЗ рдпреЗ JSON Web Token рд╡рд╛рд▓реЗ рдкреИрдХреЗрдЬ рдХреЛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдирд╛ рд╣я┐╜
9:18
рд╣рдордиреЗ рдЗрд╕рдХреЛ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░ рд▓рд┐рдпрд╛ рд╣рдо рдЗрд╕рдХреЛ рдЗрдВрдкреЛрд░реНрдЯ рдХрд░реЗрдВрдЧреЗ рдареАрдХ рд╣реИ рдФрд░ рдЗрдВрдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╣рдо рдЕрдкрдиреЗ JSON Web Token рдХреЛ рд╕рд╛рдЗрди рдХрд░реЗрдВрдЧя┐╜
9:25
рдпреЗ рдбреЗрдЯрд╛ рд╣реИ рдареАрдХ рд╣реИ рдФрд░ рдЬреЛ рджреВрд╕рд░рд╛ рдЖрд░реНрдЧреНрдпреВрдореЗрдВрдЯ рд▓реЗрддрд╛ рд╣реИ dot sign method, рд╡реЛ рдХреНрдпрд╛ рд▓реЗрддрд╛ рд╣реИ
9:31
рд╡реЛ рд▓реЗрддрд╛ рд╣реИ secret, рдареАрдХ рд╣реИ, рддреЛ рджреВрд╕рд░рд╛ method рдЬреЛ рд▓реЗрддрд╛ рд╣реИ, рджреВрд╕рд░рд╛ рдЬреЛ рдпреЗ рд▓реЗрддрд╛ рд╣реИ, рд╡реЛ secret рд▓реЗрддрд╛ рд╣реИ
9:36
рдареАрдХ рд╣реИ, рдФрд░ рдпреЗ рдПрдХ promise return рдХрд░реЗрдЧрд╛, рдареАрдХ рд╣реИ, рддреЛ рдпрд╣рд╛рдБ рдкрд░ рдореИрдВ рдХреНрдпрд╛ рдХрд░реВрдБрдЧрд╛, рдЬрд▓реНрджреА рд╕реЗ рдЗрд╕рдХя┐╜
9:43
save рдХрд░ рд▓реЗрддрд╛ рд╣реВрдБ, рдЬрд┐рддрдирд╛ рдореИрдВрдиреЗ рдЕрднреА рд▓рд┐рдЦрд╛ рд╣реИ, рдХрд┐ рдореИрдВ рдПрдХ token рднреЗрдЬреВрдВрдЧрд╛ рдФрд░ рдЗрд╕ token рдореЗрдВ user рдХреА ID рднреЗрдЬреВрдВрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ ID рдкреЗ index рд▓рдЧреА рд╣реБрдИ рд╣я┐╜
10:04
index рд▓рдЧреА рд╣реБрдИ рд╣реИ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ рдЕрдЧрд░ рдореИрдВ рдЖрдк рд▓реЛрдЧреЛрдВ рдХреЛ рдпрд╣рд╛рдБ рдкрд░ рджрд┐рдЦрд╛рдУрдВ рддреЛ рдореИрдВ рдЕрдЧрд░ ID рд╕реЗ retrieve рдХрд░реВрдБрдЧрд╛ рдХреЛрдИ рднреА information
10:11
рдЗрд╕ collection рдореЗрдВ рд╕реЗ рддреЛ рд╡реЛ рд╕рдмрд╕реЗ fast рд░рд╣реЗрдЧреА рддреЛ рд╡реЛ рдЬреЛ document retrieval рд╣реИ рд╡реЛ рд╕рдмрд╕реЗ fast
10:17
рдореЗрд░реЗ рдкрд╛рд╕ рддрдм рд╣реЛрдЧрд╛ рдЬрдм рдореИрдВ ID рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реВрдБрдЧрд╛ рддреЛ рдореИрдВ ID рд╣реА рдХреНрдпреЛрдВ рдирд╛ рднреЗрдЬ рджреВя┐╜
10:22
рдореИрдВ ID рд╣реА рднреЗрдЬ рджреВрдБрдЧрд╛ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдореИрдВ verify рдХрд░ рд▓реВрдБрдЧрд╛ token рдХя┐╜
10:26
рдЬрдм рднреА рдореЗрд░реЗ рдкрд╛рд╕ server рдореЗрдВ рдХреЛрдИ request рдЖрдПрдЧреА рддреЛ рдЬреЛ рдореЗрд░рд╛ JWT secret рд╣реИ рд╡реЛ рдореИрдВ рдбрд╛рд▓ рджреВрдБрдЖ рдпрд╣рд╛рдБ рдкрд░ рдареАрдХ рд╣я┐╜
10:45
рдФрд░ рдореИрдВ рдпрд╣рд╛рдБ рдкрд░ рдЖрдк рд▓реЛрдЧреЛрдВ рдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реВрдБ рдХрд┐ const JWT data is equal to
10:51
console console JWT data return
11:02
рддреЛ рд╣рдо рдХреНрдпрд╛ рдХрд░реЗрдВрдЧреЗ рдбреЗрдЯрд╛ рдХреЛ рднреА рдмрдирд╛ рд▓реЗрдВрдЧреЗ рдпрд╣рд╛рдБ рдкрд░ рддреЛ рдореИрдВ рдпрд╣рд╛рдВ рдкрд░ рд▓рд┐рдЦрддрд╛ рд╣реВрдВ рдХреЙрдЯреНрд╕ рдЯреЗрдЯрд╛ рдЗрд╕ рдПрдХреЙрд▓ рдЯреНрд░реА рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рд░рд╣реЗрдЧрд╛ рдФрд░ рдпрд╣ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреИрд╕рд╛ рд░рд╣реЗрдЧрд╛ рдореИрдВ рдпрд╣рд╛рдВ рдкя┐╜
11:11
рд▓рд┐рдЦреВрдВрдЧрд╛ рдбреЗрдЯрд╛ рдареАрдХ рд╣реИ рдпрд╣рд╛рдВ рдлрд┐рд░ рдореИрдВ рд▓рд┐рдЦреВрдВрдЧрд╛ рдпреВрдЬрд░ рдФрд░ рдЬреЛ рдпреВрдЬрд░ рд░рд╣реЗрдЧрд╛ рд╡рд╣ рдХреНрдпрд╛ рд░рд╣реЗрдЧрд╛ рдЙрд╕рдХреА рдЖрдИрдбреА рдореЗрдВ рд▓рд┐рдЦ рджреВрдВрдЧя┐╜
11:18
рдпреВрдЬрд░ рдбреЙрдЯ рдЖрдИрдбреА рдареАрдХ рд╣реИ рд╕рд┐рдВрдмрд▓ рд╕реА рдЪреАрдЬ рд╣реИ рдореИрдВрдиреЗ рдЖрдИрдбреА рдпрд╣рд╛рдВ рдкрд░ рднреЗрдЬ рджреА рдЕрдм рджреЗрдЦреЛ рдЖрдк рд▓реЛрдЧ рдореИрдВ рдХреНрдпрд╛ рдХрд░реВрдВрдЧя┐╜
11:23
рдореИрдВ рдЖрдкрдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдЖрдкрдХрд╛ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдиреЛрдб рдореЙрди рджрд┐рдЦрд╛рддрд╛ рд╣реВрдВ рдФрд░ рдореИрдВ рдЖрдк рдЬреИрд╕реЗ рд╣реА рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рдорд╛рд░реВрдВрдЧрд╛ рддреЛ рдЬреИрд╕реЗ рд╣реА рдореИрдВрдиреЗ рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рдорд╛рд░реА рд╕реЙрд░реА рдпрд╛ рдпреВрдЬрд░ рд╡рд┐рдж рдЗрд╕ рдИрдорд┐рди рдСрд▓рд░реЗрдбреА рдПрдХреНрдЬрд┐рд╕реНрдЯ рд╣реЛрдХреЗ рдПрдХ рдпреВрдЬрд░ рдСрд▓рд░реЗрдбреА рдПрдХреНрдЬрд┐рд╕реНрдЯ рдХрд░рддрд╛ рд╣реИ рдмреЙрд░рд┐рд╕ рдореЗрдея┐╜
11:53
рджреЗрдЦ рд▓реЗрддреЗ рд╣реИрдВ рд╕рд┐рдВрдХреНрд░реЛрдиреЗрд╕ рд▓реА рд╕рд╛рдЗрди рдж рдЧрд┐рд╡рди рдкреЗрд▓реЛрдб рдпрд╣ рдПрдХ рд╕рд┐рдВрдХ рдореЗрдерд▓ рддреЛ рдореБрдЭреЗ рдЯреЗрдВрд╢рди рд▓реЗрдиреЗ рдХреА рдЬрд░реВрд░рдд рдпя┐╜
11:58
рд╡реЗрдЯ рд╡рдЧреИрд░рд╣ рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИ рдореБрдЭреЗ рдбрд╛рд░реЗрдЯрд▓реА рдбрд╛рдЯрд╛ рдорд┐рд▓ рдЬрд╛рдПрдЧрд╛ рдареАрдХ рд╣реИ рддреЛ рдореИрдВ рдХрд░реВрдВрдЧрд╛ рдХреНрдпрд╛ рдХрд┐ рдЯреЛрдХреЗя┐╜
12:04
рджреВрдВрдЧрд╛ рдареАрдХ рд╣реИ рддреЛ рдореИрдВ рдпрд╣рд╛рдВ рдкрд░ рдХреНрдпрд╛ рдХрд░реВрдВрдЧрд╛ рдФрд░ рдЯреЛрдХрди рдЗрдЬ рдЗрдХреЙрд▓ рдЯреВ рдЗрди рдлреИрдХреНрдЯ рдореИрдВ рдЗрд╕рдХреЛ рдЬреЗрд╕рди рдЬреЗрдбрд╡реНрдпреВрдЯреА рдбрд╛рдЯя┐╜
12:11
рдирд╛ рдХрд░рдХреЗ рдореИрдВ рдЗрд╕рдХреЛ рдФрд░ рдЯреЛрдХрди рдмреЛрд▓ рджреЗрддрд╛ рд╣реВрдВ рдФрд░ рдЯреЛрдХрди рдФрд░ рдореИрдВ рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рдФрд░ рдЬреЗрд╕рди рдпреВрдЬрд░ рдирд╛ рднреЗрдЬрдХрд░ рдЗрд╕ рдмрд╛рд░ рдХреНрдпрд╛ рдХрд░реВрдВрдЧя┐╜
12:18
рддреЛ рдпрд╣рд╛рдВ рдкрд░ рдореИрдВ рдпрд╣ рдпреВрдЬ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдЯреЛрдХреЗрдВрдЯ рдареАрдХ рд╣реИ рддреЛ рдЯреЛрдХреЗрдВрдЯ рдореЗрдВ рдореБрдЭреЗ рдпрд╣ рдпрд╣ рд▓рд┐рдЦрдиреЗ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣я┐╜
12:28
рдореИрдВ рдпрд╣ рд▓рд┐рдЦрдХрд░ рдФрд░ рдЯреЛрдХреЗрдВрдЯ рдФрд░ рдЯреЛрдХреЗрдВрдЯ рднреЗрдЬ рд╕рдХрддрд╛ рд╣реВрдВ рдареАрдХ рд╣реИ рддреЛ рдЖрдк рджреЗрдЦрдирд╛ рдпрд╣рд╛рдВ рдкрд░ рдЕрдЧрд░ рдореИрдВ рдмреЙрд░рд┐рд╕ IRA3 рдХрд░реВя┐╜
12:35
рдФрд░ рдпрд╣рд╛рдБ рдкрд░ рдореИрдВ рд╕реЗрдВрдб рдХрд░реВрдВ рддреЛ рдЖрдк рд▓реЛрдЧ рджреЗрдЦреЛ рдпрд╣ рдФрд░ рдЯреЛрдХрди рдореБрдЭреЗ рдорд┐рд▓ рдЧрдпрд╛ рдареАрдХ рд╣реИ рдорд┐рд▓ рдЧрдпрд╛ рдФрд░ рдЯреЛрдХрди рдХреА рдирд╣реАя┐╜
12:43
рдорд┐рд▓ рдЧрдпрд╛ рд╣рд╛рдВ рдорд┐рд▓ рдЧрдпрд╛ рддреЛ рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рдкрд░ рдФрд░ рдЯреЛрдХрди рднреЗрдЬ рджрд┐рдпрд╛ рдареАрдХ рд╣реИ рдЕрдм рдХрднреА рднреА рдпрд╣ рдФрд░ рдЯреЛрдХрди рдореБрдЭреЗ рдХреЛрдИ рдмрд╛рдкрд╕ рджреЗрдЧя┐╜
12:49
рддреЛ рдореИрдВ рдЗрд╕рдХреЛ convert рдХрд░ рдкрд╛рдБрдЧрд╛ рдХрд┐ рдЗрд╕ рдореЗрдВ рдЗрд╕ data рдореЗрдВ, рдореИрдВ рдЗрд╕ data рдореЗрдВ рд╡рд╛рдкрд╕ convert рдХрд░ рдкрд╛рдБрдЧрд╛ рдФрд░ рдЕрдкрдиреЗ secret рдХреА рд╕рд╛рд╣рд┐рддрд╛ рд╕реЗ рдореИрдВ рдпреЗ рднреА рдкрддрд╛ рд▓рдЧрд╛ рдкрд╛рдБрдЧрд╛ рдХрд┐ рдХрд┐рд╕реА рдиреЗ рдЗрд╕рдХреЗ рд╕рд╛рде temper рддреЛ рдирд╣реАрдВ рдХрд░рд╛ рд╣реИ, рдЕрдЧрд░ рдХрд┐рд╕реА рдиреЗ рдЗрд╕рдХреЗ рд╕рд╛рде tempering рдХрд░реА рд╣реЛрдЧреА рддреЛ рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓ рдЬрд╛рдПрдЧрд╛, рдареАрдХ рд╣реИ, рд╡реИрд╕реЗ ideally 99% of the users рдЖрдкрдХя┐╜
13:19
рдЬреЗрд╕рди рд╡реЗрдм рдЯреЛрдХрди рдХрд╛ рдпрд╣ рдЬреЛ рддреАрд╕рд░рд╛ рдкрд╛рд░реНрдЯ рд╣реИ рдЗрд╕рдХреЗ рдереВрдБ рдЖрдк рдкрдХрдбрд╝ рд▓реЛрдЧреЗ рдФрд░ рдЖрдк рд▓реЛрдЧ рдкрдХрдбрд╝реЛрдЧреЗ рдХреИрд╕реЗ рдпрд╣ рднреА рдореИрдВ рдЖрдк рд▓реЛрдЧреЛрдВ рдХреЛ рдмрддрд╛ рджреЗрддрд╛ рд╣реВрдБ рдЖрдк рд▓реЛрдЧ рдпрд╣рд╛рдБ рдкрд░ JWT.SIGN рдореЗрдердЯ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЛрдЧреЗ рдФрд░ рдпрд╣ рдЖрдкрдХреЛ рдмрддрд╛ рджреЗрдЧрд╛ рд╕реЙрд░реА JWT.VERIFY рдореЗрдердЯ рдХрд╛ рдпреВрдЬя┐╜
13:49
рдХреЛ login рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛, рддреЛ рдпрд╣рд╛рдБ рдкрд░ рд╣рдо рд▓реЛрдЧ email рд╕реЗ рдФрд░ рдЙрд╕реА рдХреЗ рд╕рд╛рде рд╕рд╛рде рдЬреЛ password рд╣реИ рдЙрд╕рд╕реЗ user рдХреЛ login рдХрд░рд╡рд╛рдПрдВрдЧреЗ
13:58
рддреЛ I hope рдХрд┐ рдЖрдкрдХреЛ рд╕рдордЭ рдореЗрдВ рдЖ рдЧрдИ рдпрд╣ рд╕рд╛рд░реА рдЪреАрдЬрд╝реЗрдВ, рдЬреЛ рдХрд┐ рдореИрдВрдиреЗ рдЖрдк рд▓реЛрдЧ рдХреЛ рднреА рдмрддрд╛рдИ, рдЕрдЧрд░ рдЖрдк рдЪрд╛рд╣реЗрдВ рддреЛ рдЗрд╕рдореЗрдВ рдПрдХ username рднреА add рдХрд░ рд╕рдХрддреЗ рдереЗ
14:04
but рдореИрдВ email рдХреЗ through login рдХрд░рд╡рд╛рдБрдЧрд╛ user рдХреЛ рд╣рдо рдЖрдиреЗ рд╡рд╛рд░реЗ videos рдореЗя┐╜
14:08
рдпреЗ рд╕рдм рдЪреАрдЬрд╝реЗрдВрдЧреЗ рдХреИрд╕реЗ рдХрд░рддреЗ рд╣реИрдВ рдЕрднреА рдХреЗ рд▓рд┐рдП рдЗрд╕ video рдореЗрдВ рдЗрддрдирд╛ рд╣реИ guys thank you so much guys for watching this video
14:13
and I will see you next time рдХрд░рддреЗ рд╣реИя┐╜