﻿1
00:00:00,960 --> 00:00:03,130
‫-: Jadi, selama beberapa video

2
00:00:03,130 --> 00:00:06,220
‫terakhir, kami mengizinkan pengguna untuk mengatur ulang

3
00:00:06,220 --> 00:00:08,070
‫kata sandinya dan kemudian

4
00:00:08,070 --> 00:00:09,910
‫membuat yang baru,

5
00:00:09,910 --> 00:00:13,383
‫tetapi sekarang kami juga ingin mengizinkan pengguna yang

6
00:00:13,383 --> 00:00:15,740
‫masuk untuk memperbarui kata sandinya tanpa

7
00:00:15,740 --> 00:00:18,880
‫harus melupakannya, dan seterusnya tanpa seluruh proses reset.

8
00:00:18,880 --> 00:00:20,833
‫Jadi, mari kita bangun itu sekarang.

9
00:00:22,620 --> 00:00:23,810
‫Dan, seperti sebelumnya,

10
00:00:23,810 --> 00:00:26,413
‫mari kita lakukan itu di pengontrol otentikasi kita.

11
00:00:28,420 --> 00:00:30,523
‫Jadi, ekspor. perbarui kata sandi.

12
00:00:35,142 --> 00:00:38,940
‫Baiklah, dan, seperti biasa, tiga

13
00:00:38,940 --> 00:00:43,940
‫parameter Middleware kami di sini, dan oke.

14
00:00:44,380 --> 00:00:48,250
‫Sekarang ingat bahwa fungsi pembaruan kata sandi ini hanya untuk

15
00:00:48,250 --> 00:00:50,260
‫pengguna yang masuk, tetapi kita

16
00:00:50,260 --> 00:00:54,290
‫tetap membutuhkan pengguna untuk memasukkan kata sandinya saat ini, jadi

17
00:00:54,290 --> 00:00:55,920
‫untuk mengonfirmasi bahwa

18
00:00:55,920 --> 00:00:58,990
‫pengguna sebenarnya adalah siapa yang dia katakan.

19
00:00:58,990 --> 00:01:01,260
‫Jadi, hanya sebagai tindakan pengamanan

20
00:01:01,260 --> 00:01:04,950
‫karena bayangkan seseorang akan menemukan komputer Anda terbuka dan

21
00:01:04,950 --> 00:01:08,150
‫kemudian dapat mengubah kata sandi di situs

22
00:01:08,150 --> 00:01:09,530
‫yang sedang

23
00:01:09,530 --> 00:01:12,610
‫Anda buka tanpa diminta kata sandi lagi.

24
00:01:12,610 --> 00:01:15,300
‫Dan itu pada dasarnya akan

25
00:01:15,300 --> 00:01:18,260
‫mengeluarkan Anda dari semua aplikasi yang ada, yang

26
00:01:18,260 --> 00:01:21,000
‫tentu saja akan menjadi pengalaman yang mengerikan.

27
00:01:21,000 --> 00:01:23,800
‫Jadi, sebagai tindakan pengamanan, kita harus

28
00:01:23,800 --> 00:01:27,800
‫selalu menanyakan kata sandi saat ini sebelum memperbaruinya, oke.

29
00:01:27,800 --> 00:01:30,530
‫Dan, dengan mengingat hal itu, mari kita

30
00:01:30,530 --> 00:01:32,760
‫susun semua langkah yang perlu

31
00:01:32,760 --> 00:01:36,030
‫kita ambil untuk mengimplementasikan fungsi ini seperti sebelumnya.

32
00:01:36,030 --> 00:01:39,530
‫Jadi, pertama-tama, kita perlu mendapatkan pengguna

33
00:01:39,530 --> 00:01:41,903
‫dari koleksi, pada dasarnya.

34
00:01:44,840 --> 00:01:47,480
‫Kemudian kedua, kita perlu memeriksa

35
00:01:47,480 --> 00:01:50,263
‫apakah kata sandi yang diposting sudah benar.

36
00:01:56,430 --> 00:01:57,880
‫Benar.

37
00:01:57,880 --> 00:02:01,800
‫Kemudian, ketiga, jadi jika kata sandinya benar,

38
00:02:01,800 --> 00:02:04,623
‫maka perbarui kata sandinya.

39
00:02:07,170 --> 00:02:11,013
‫Dan akhirnya, kita perlu login kembali pengguna,

40
00:02:12,180 --> 00:02:16,610
‫jadi pada dasarnya untuk mengirim jsonwebtoken kembali ke pengguna, sekarang

41
00:02:16,610 --> 00:02:20,860
‫login dengan kata sandi baru yang baru saja diperbarui.

42
00:02:20,860 --> 00:02:23,860
‫Oke, dan ini sebenarnya sangat mirip dengan apa yang

43
00:02:23,860 --> 00:02:25,510
‫sudah kita lakukan

44
00:02:25,510 --> 00:02:27,370
‫sebelumnya, jadi saya meninggalkan yang

45
00:02:27,370 --> 00:02:29,430
‫ini untuk Anda sebagai tantangan, oke?

46
00:02:29,430 --> 00:02:32,660
‫Jadi, silakan coba untuk melanjutkan dan menerapkan ini sendiri,

47
00:02:32,660 --> 00:02:35,313
‫dan jika perlu, tentu saja Anda dapat melihat

48
00:02:35,313 --> 00:02:36,800
‫kode yang kami

49
00:02:36,800 --> 00:02:39,440
‫tulis sebelumnya, tetapi cobalah untuk menulis kode sendiri

50
00:02:39,440 --> 00:02:41,720
‫tanpa menyalin terlalu banyak, oke ?

51
00:02:41,720 --> 00:02:44,140
‫Jadi, Anda dapat melihat kode lainnya

52
00:02:44,140 --> 00:02:47,680
‫untuk melihat cara kerjanya, tetapi jangan hanya menyalinnya, oke?

53
00:02:47,680 --> 00:02:50,610
‫Karena dengan begitu Anda tidak akan benar-benar belajar, oke.

54
00:02:50,610 --> 00:02:52,900
‫Jadi, jeda video di sini, dan saya akan melihat Anda

55
00:02:52,900 --> 00:02:54,083
‫sebentar lagi dengan solusi saya.

56
00:02:57,510 --> 00:03:00,450
‫Oke, jadi saya harap Anda berhasil menerapkan

57
00:03:00,450 --> 00:03:03,533
‫ini dan membuatnya berfungsi, beginilah cara saya melakukannya.

58
00:03:04,960 --> 00:03:08,963
‫Jadi, seperti biasa, kami membuat variabel pengguna baru, dan di sana

59
00:03:09,970 --> 00:03:14,353
‫kami menunggu hasil dari Pengguna. findById, dan sekarang

60
00:03:17,930 --> 00:03:20,940
‫dari mana ID ini sebenarnya berasal?

61
00:03:20,940 --> 00:03:24,590
‫Nah, ingat lagi bahwa kata sandi pembaruan ini hanya untuk yang

62
00:03:24,590 --> 00:03:27,710
‫diautentikasi, jadi untuk pengguna yang masuk, dan oleh karena

63
00:03:27,710 --> 00:03:30,830
‫itu, pada titik ini, kita sudah memiliki pengguna saat

64
00:03:30,830 --> 00:03:33,123
‫ini di objek permintaan kita.

65
00:03:34,380 --> 00:03:37,273
‫Oke, jadi itu datang dari melindungi Middleware.

66
00:03:38,640 --> 00:03:42,670
‫Jadi, permintaan pengguna. id, dan kemudian

67
00:03:42,670 --> 00:03:46,933
‫ingat bahwa kita perlu meminta kata sandi secara eksplisit, oke?

68
00:03:48,830 --> 00:03:53,260
‫Karena itu, secara default, tidak termasuk dalam output.

69
00:03:53,260 --> 00:03:55,883
‫Jadi, kami mendefinisikannya di skema, ingat?

70
00:03:56,860 --> 00:03:58,730
‫Dan, kita sebenarnya membutuhkan kata

71
00:03:58,730 --> 00:04:01,860
‫sandi itu karena sekarang kita ingin membandingkannya dengan kata

72
00:04:01,860 --> 00:04:03,690
‫sandi yang tersimpan di database,

73
00:04:03,690 --> 00:04:05,300
‫dan untuk itu,

74
00:04:05,300 --> 00:04:08,850
‫seperti sebelumnya, kita akan menggunakan objek instance yang kita miliki

75
00:04:08,850 --> 00:04:10,720
‫di suatu tempat di sini.

76
00:04:10,720 --> 00:04:13,360
‫Ya, jadi correctPassword, yang tersedia di

77
00:04:13,360 --> 00:04:15,250
‫semua dokumen pengguna,

78
00:04:15,250 --> 00:04:17,680
‫jadi pertama-tama dibutuhkan kata sandi

79
00:04:17,680 --> 00:04:21,850
‫kandidat, dan kemudian kata sandi pengguna yang sebenarnya, oke.

80
00:04:21,850 --> 00:04:23,370
‫Oh, dan sekarang ini

81
00:04:23,370 --> 00:04:26,120
‫memberi saya kesalahan ini karena, tentu saja, saya

82
00:04:26,120 --> 00:04:28,203
‫belum mendeklarasikan ini sebagai fungsi async.

83
00:04:29,610 --> 00:04:32,534
‫Jadi, async, dan sebelum kita melupakannya,

84
00:04:32,534 --> 00:04:36,577
‫mari kita bungkus ke dalam fungsi catchAsync di sini juga.

85
00:04:38,589 --> 00:04:40,513
‫Bagaimanapun, seperti sebelumnya, pada

86
00:04:40,513 --> 00:04:43,157
‫dasarnya kita ingin membuat kesalahan di sini

87
00:04:43,157 --> 00:04:46,402
‫jika kata sandi saat ini tidak benar, jadi,

88
00:04:46,402 --> 00:04:48,572
‫mari kita tulis dalam kode.

89
00:04:48,572 --> 00:04:51,239
‫Jadi, jika bukan pengguna. correctPassword, dan

90
00:04:53,870 --> 00:04:56,283
‫kemudian kandidat password mengingat,

91
00:04:56,283 --> 00:04:58,808
‫dan salah satunya akan berada

92
00:04:58,808 --> 00:05:03,808
‫di body, di properti yang akan kita sebut sebagai passwordConfirm.

93
00:05:03,980 --> 00:05:07,941
‫Oke, dan kemudian sebagai argumen kedua kata sandi yang sebenarnya, jadi

94
00:05:07,941 --> 00:05:10,108
‫itu pengguna. kata sandi.

95
00:05:11,036 --> 00:05:13,820
‫Dan kemudian, ingat bahwa ini adalah fungsi asinkron,

96
00:05:13,820 --> 00:05:16,323
‫jadi kita juga perlu menunggunya di sini.

97
00:05:18,400 --> 00:05:22,173
‫Bagus, jadi jika kata sandinya salah, seperti biasa,

98
00:05:24,020 --> 00:05:27,500
‫kami membuat kesalahan baru di sini.

99
00:05:27,500 --> 00:05:32,000
‫Jadi, AppError baru, dan kali ini

100
00:05:32,930 --> 00:05:37,930
‫kami mengatakan kata sandi Anda saat ini salah,

101
00:05:38,720 --> 00:05:43,660
‫dan kemudian kode status 401 untuk tidak sah.

102
00:05:43,660 --> 00:05:45,650
‫Baiklah, bagus.

103
00:05:45,650 --> 00:05:48,240
‫Sekarang, jika kita sampai pada titik ini

104
00:05:48,240 --> 00:05:51,750
‫dalam kode, jadi pada dasarnya jika kata sandinya juga benar,

105
00:05:51,750 --> 00:05:54,460
‫maka kita benar-benar dapat memperbarui kata sandi,

106
00:05:54,460 --> 00:05:56,400
‫dan bagaimana kita melakukannya?

107
00:05:56,400 --> 00:05:58,763
‫Yah, sangat sederhana, kami melakukan itu sebelumnya.

108
00:05:59,630 --> 00:06:04,630
‫Yang kami katakan hanyalah pengguna. kata sandi sama dengan req. tubuh. kata sandi,

109
00:06:08,200 --> 00:06:11,793
‫dan kemudian sama, tentu saja, untuk konfirmasi kata sandi.

110
00:06:14,010 --> 00:06:17,560
‫Oke, dan validasi akan dilakukan secara otomatis oleh

111
00:06:17,560 --> 00:06:21,300
‫validator yang kita tentukan pada skema, dan itu akan

112
00:06:21,300 --> 00:06:23,823
‫dilakukan setelah kita benar-benar menyimpannya.

113
00:06:24,690 --> 00:06:29,280
‫Jadi, kami menunggu pengguna. simpan, jadi kali

114
00:06:29,280 --> 00:06:32,400
‫ini kami tidak mematikan validasi karena

115
00:06:32,400 --> 00:06:35,920
‫tentu saja kami ingin validasi terjadi, jadi

116
00:06:35,920 --> 00:06:39,120
‫seperti yang saya katakan sebelumnya, kami ingin

117
00:06:39,120 --> 00:06:42,010
‫memeriksa bahwa konfirmasi kata sandi sebenarnya

118
00:06:42,010 --> 00:06:44,560
‫sama dengan kata sandi, kan?

119
00:06:44,560 --> 00:06:45,570
‫Bagus.

120
00:06:45,570 --> 00:06:49,460
‫Dan, sekarang hanya untuk benar-benar memastikan bahwa Anda memahami mengapa kami

121
00:06:49,460 --> 00:06:53,533
‫tidak melakukan sesuatu seperti user. findByIdAndUpdate.

122
00:06:56,530 --> 00:06:59,260
‫Jadi, mengapa kita tidak melakukannya seperti ini?

123
00:06:59,260 --> 00:07:02,450
‫Dan, saya tahu bahwa saya telah membicarakan hal ini berkali-kali

124
00:07:02,450 --> 00:07:05,330
‫sebelumnya, tetapi saya ingin Anda memahami seratus persen mengapa

125
00:07:05,330 --> 00:07:07,990
‫kami tidak dapat menggunakan pembaruan ini, dan itu

126
00:07:07,990 --> 00:07:09,540
‫karena dua alasan,

127
00:07:09,540 --> 00:07:12,143
‫jadi izinkan saya kembali ke model kami.

128
00:07:13,090 --> 00:07:14,650
‫Jadi, yang

129
00:07:14,650 --> 00:07:18,920
‫pertama validasi ini di sini tidak akan berhasil, oke?

130
00:07:18,920 --> 00:07:22,670
‫Dan itu pada dasarnya karena ini. kata sandi tidak ditentukan

131
00:07:22,670 --> 00:07:27,420
‫ketika kami memperbarui, jadi ketika kami menggunakan find by ID dan memperbarui, karena

132
00:07:27,420 --> 00:07:29,440
‫secara internal, di belakang layar, Mongoose

133
00:07:29,440 --> 00:07:33,200
‫tidak benar-benar menyimpan objek saat ini dalam memori, dan oleh

134
00:07:33,200 --> 00:07:36,230
‫karena itu, ini di sini tidak akan berfungsi.

135
00:07:36,230 --> 00:07:39,130
‫Dan, seperti yang saya katakan, saya sudah

136
00:07:39,130 --> 00:07:42,650
‫membicarakannya sebelumnya, jadi sebenarnya ditulis di sini juga, oke?

137
00:07:42,650 --> 00:07:45,600
‫Tapi, sangat penting untuk diingat untuk tidak

138
00:07:45,600 --> 00:07:49,340
‫menggunakan pembaruan untuk apa pun yang terkait dengan kata sandi, oke?

139
00:07:49,340 --> 00:07:51,160
‫Jadi, yang ini tidak

140
00:07:51,160 --> 00:07:53,640
‫akan berfungsi, dan juga, dua Middleware

141
00:07:53,640 --> 00:07:56,510
‫yang telah disimpan sebelumnya juga tidak akan berfungsi.

142
00:07:56,510 --> 00:07:59,820
‫Jadi, jika kita hanya menggunakan pembaruan untuk memperbarui

143
00:07:59,820 --> 00:08:03,000
‫kata sandi, maka kata sandi itu tidak akan

144
00:08:03,000 --> 00:08:04,750
‫dienkripsi, yang merupakan

145
00:08:04,750 --> 00:08:07,530
‫Middleware pertama ini, dan kemudian, cap

146
00:08:07,530 --> 00:08:11,030
‫waktu kata sandiChangedAt juga tidak akan disetel, oke?

147
00:08:11,030 --> 00:08:12,830
‫Jadi, semua ini tidak akan

148
00:08:12,830 --> 00:08:15,943
‫berhasil, dan sekali lagi, kita benar-benar perlu melakukannya seperti ini.

149
00:08:17,470 --> 00:08:19,020
‫Mari kita taruh itu di sini lagi.

150
00:08:21,330 --> 00:08:24,430
‫Jadi sekarang, (bergumam), kami memasukkan

151
00:08:24,430 --> 00:08:27,840
‫pengguna, dan mengirim token kembali ke klien.

152
00:08:27,840 --> 00:08:30,210
‫Nah, itu sebenarnya akan menjadi keempat kalinya

153
00:08:30,210 --> 00:08:32,320
‫kita melakukan kode yang sama, jadi

154
00:08:32,320 --> 00:08:34,190
‫pada dasarnya potongan kode ini,

155
00:08:34,190 --> 00:08:36,710
‫dan sekarang, dengan sangat cepat memfaktorkan ulang ini

156
00:08:36,710 --> 00:08:38,410
‫ke dalam fungsinya sendiri.

157
00:08:38,410 --> 00:08:42,410
‫Sekarang, kode ini sebenarnya tidak sama di mana-mana.

158
00:08:42,410 --> 00:08:45,090
‫Jadi, di sini kami mengirim kode status

159
00:08:45,090 --> 00:08:47,250
‫400, dan kami tidak

160
00:08:47,250 --> 00:08:51,280
‫mengirim pengguna, tetapi kemudian di sini di pengendali pendaftaran, kami

161
00:08:51,280 --> 00:08:53,680
‫sebenarnya memiliki kode status yang berbeda,

162
00:08:53,680 --> 00:08:56,900
‫dan kami juga mengirim pengguna ke klien, oke?

163
00:08:56,900 --> 00:08:59,873
‫Jadi, mari kita buat fungsi kita benar-benar mengingatnya.

164
00:09:00,890 --> 00:09:05,890
‫Jadi, mari kita buat fungsi di sini, buat dan

165
00:09:06,140 --> 00:09:09,293
‫kirim token, lalu argumen yang kita

166
00:09:11,100 --> 00:09:14,350
‫butuhkan di sini adalah pengguna karena

167
00:09:14,350 --> 00:09:17,070
‫di situlah ID disimpan.

168
00:09:17,070 --> 00:09:18,893
‫Kemudian, kita juga

169
00:09:20,220 --> 00:09:24,060
‫menginginkan kode status, dan tentu saja, kita perlu memiliki

170
00:09:24,060 --> 00:09:26,940
‫akses ke objek respons agar benar-benar dapat

171
00:09:26,940 --> 00:09:29,510
‫mengirim respons kembali ke klien, oke?

172
00:09:29,510 --> 00:09:32,473
‫Jadi, pada dasarnya sekarang yang kita butuhkan adalah kode ini.

173
00:09:33,775 --> 00:09:35,930
‫Jadi, mari kita salin, taruh

174
00:09:35,930 --> 00:09:38,700
‫di sini, lalu ganti variabel yang tidak relevan.

175
00:09:38,700 --> 00:09:42,480
‫Jadi, pengguna hanya disebut pengguna, jadi seperti ini,

176
00:09:42,480 --> 00:09:44,963
‫dan di sini, sama.

177
00:09:46,470 --> 00:09:47,510
‫Jadi, bukan

178
00:09:47,510 --> 00:09:51,150
‫pengguna baru, dan kemudian di sini kita menggantinya dengan

179
00:09:51,150 --> 00:09:54,440
‫kode status, jadi kode yang masuk ke fungsi

180
00:09:54,440 --> 00:09:57,053
‫kita, jadi saya rasa itu saja.

181
00:09:58,330 --> 00:10:01,070
‫Jadi, sekarang mari kita lanjutkan

182
00:10:01,070 --> 00:10:06,070
‫dan menggantinya, jadi buatSendToken, dan di sini pengguna disebut pengguna baru,

183
00:10:09,040 --> 00:10:10,763
‫kode statusnya adalah

184
00:10:12,260 --> 00:10:15,093
‫201, dan tentu saja objek respons.

185
00:10:16,730 --> 00:10:19,223
‫Oke, sekarang kita bisa menyingkirkan kode ini, dan mari

186
00:10:20,680 --> 00:10:21,863
‫kita salin saja.

187
00:10:23,200 --> 00:10:26,903
‫Baiklah, jadi pada saat login tentunya kita juga mengirimkan token,

188
00:10:28,860 --> 00:10:32,630
‫namun kali ini user tersebut sebenarnya disebut user dan kode

189
00:10:32,630 --> 00:10:34,243
‫statusnya adalah 200.

190
00:10:38,470 --> 00:10:39,920
‫Dan sekarang, mari kita salin yang ini.

191
00:10:42,210 --> 00:10:45,853
‫Jadi, yang berikutnya harus di sini, dan reset

192
00:10:46,930 --> 00:10:48,400
‫kata sandi, dan

193
00:10:48,400 --> 00:10:51,323
‫ini sebenarnya sama, jadi namanya pengguna

194
00:10:53,740 --> 00:10:57,550
‫dan kode 200, dan sekarang, akhirnya, ini juga sama.

195
00:10:57,550 --> 00:11:02,360
‫Jadi, itu menyelesaikan fungsi kata sandi pembaruan kami.

196
00:11:02,360 --> 00:11:03,740
‫Sekarang, agar ini berfungsi,

197
00:11:03,740 --> 00:11:06,830
‫tentu saja kita perlu mengimplementasikan rute di sini juga di

198
00:11:06,830 --> 00:11:08,033
‫router pengguna kita.

199
00:11:09,900 --> 00:11:14,400
‫Jadi, router. patch, dan kami akan

200
00:11:14,400 --> 00:11:17,610
‫melakukan patch karena kami benar-benar berubah, jadi

201
00:11:17,610 --> 00:11:21,460
‫kami memanipulasi dokumen pengguna, dan itulah gunanya patch.

202
00:11:21,460 --> 00:11:24,590
‫Dan rutenya disebut updateMyPassword.

203
00:11:29,060 --> 00:11:30,630
‫Jadi, kata sandi saya

204
00:11:30,630 --> 00:11:34,420
‫karena itu untuk pengguna yang saat ini masuk, dan kemudian ingat,

205
00:11:34,420 --> 00:11:36,810
‫sekali lagi, ini hanya berfungsi untuk pengguna

206
00:11:36,810 --> 00:11:41,770
‫yang masuk, jadi kita perlu menggunakan authController. melindungi, yang kemudian juga

207
00:11:41,770 --> 00:11:44,240
‫akan menempatkan objek

208
00:11:44,240 --> 00:11:47,270
‫pengguna pada objek permintaan, oke?

209
00:11:47,270 --> 00:11:51,593
‫Jadi, lindungi, lalu perbarui kata sandi authController

210
00:11:51,593 --> 00:11:55,640
‫yang baru saja kita buat, oke.

211
00:11:55,640 --> 00:11:59,593
‫Jadi, sekarang mari kita benar-benar pergi ke depan dan menguji ini, oke?

212
00:12:02,720 --> 00:12:05,763
‫Jadi, mari kita salin rute ini di sini,

213
00:12:08,080 --> 00:12:09,790
‫jadi UpdateMyPassword, dan sekarang

214
00:12:14,300 --> 00:12:18,190
‫yang perlu kita kirimkan ke dalam isi adalah ketiga kata

215
00:12:18,190 --> 00:12:20,103
‫sandi ini sebenarnya, jadi pada

216
00:12:21,290 --> 00:12:24,817
‫dasarnya adalah passwordCurrent, dan untuk saat ini saya biarkan kosong,

217
00:12:30,350 --> 00:12:32,050
‫saya hanya ingin

218
00:12:32,050 --> 00:12:35,000
‫meletakkan bidang nama di sini untuk saat ini.

219
00:12:35,000 --> 00:12:38,750
‫Jadi, passwordCurrent kemudian hanya password, yang pada dasarnya

220
00:12:38,750 --> 00:12:40,503
‫adalah yang baru,

221
00:12:41,690 --> 00:12:44,110
‫dan kemudian, tentu saja, passwordConfirm.

222
00:12:46,930 --> 00:12:50,320
‫Oke, dan sekarang kita sebenarnya perlu login

223
00:12:50,320 --> 00:12:53,140
‫sebagai pengguna karena ingat, ini

224
00:12:53,140 --> 00:12:56,250
‫hanya berfungsi jika pengguna sudah login, oke.

225
00:12:56,250 --> 00:12:59,333
‫Jadi, mari kita lakukan dengan administrator di sini.

226
00:13:00,633 --> 00:13:04,620
‫Dan ini di sini, harus tetap kata sandi saat

227
00:13:04,620 --> 00:13:07,610
‫ini, dan memang, kita sekarang masuk.

228
00:13:07,610 --> 00:13:10,520
‫Dan ingat bahwa token ini sekarang disimpan

229
00:13:10,520 --> 00:13:13,313
‫ke dalam variabel lingkungan JWT,

230
00:13:14,240 --> 00:13:17,080
‫jadi, di sini, untuk mengotentikasi, mari

231
00:13:17,080 --> 00:13:20,400
‫kita gunakan itu seperti yang kita lakukan sebelumnya.

232
00:13:20,400 --> 00:13:24,710
‫Jadi, di tab otorisasi ini, kami memilih Token Pembawa,

233
00:13:24,710 --> 00:13:27,480
‫dan kemudian akan secara otomatis mengisi

234
00:13:27,480 --> 00:13:29,293
‫variabel JWT ini.

235
00:13:30,140 --> 00:13:32,830
‫Baiklah, dan dari situlah

236
00:13:32,830 --> 00:13:35,873
‫sebenarnya ID pengguna akan datang, ingat?

237
00:13:37,830 --> 00:13:42,830
‫Bagaimanapun, sekarang mari kita tentukan kata sandi saat ini, jadi pass1234, lalu

238
00:13:42,999 --> 00:13:45,613
‫katakan kata sandi baru, oke?

239
00:13:49,040 --> 00:13:50,713
‫Salin dan tempel

240
00:13:51,560 --> 00:13:54,170
‫di sini, tetapi sebenarnya sekali lagi, saya

241
00:13:54,170 --> 00:13:56,960
‫ingin memulai dengan mengujinya dengan konfirmasi kata

242
00:13:56,960 --> 00:13:59,810
‫sandi yang salah, hanya untuk melihat apakah validasi

243
00:13:59,810 --> 00:14:02,720
‫kami masih berfungsi, dan sekarang rutenya tidak ditentukan,

244
00:14:02,720 --> 00:14:07,300
‫tetapi itu hanya karena kami menggunakan kata kerja yang salah di sini.

245
00:14:07,300 --> 00:14:09,610
‫Tentu saja, itu perlu ditambal.

246
00:14:09,610 --> 00:14:11,430
‫Mari kita coba lagi,

247
00:14:11,430 --> 00:14:15,040
‫tetapi sekarang kami mendapatkan kata sandi Anda saat ini

248
00:14:15,040 --> 00:14:18,270
‫salah, tetapi sebenarnya tidak, jadi itu sebenarnya benar.

249
00:14:18,270 --> 00:14:21,163
‫Jadi, pasti ada yang salah dengan kode kita, jadi mari

250
00:14:22,260 --> 00:14:24,143
‫kita coba lihat di sini.

251
00:14:26,440 --> 00:14:28,440
‫Dan ya, jadi di sini

252
00:14:28,440 --> 00:14:32,240
‫sebenarnya masalahnya karena kami tidak ingin membandingkan atau mengkonfirmasi kata sandi,

253
00:14:32,240 --> 00:14:34,763
‫tentu saja, tetapi dengan kata sandi saat ini.

254
00:14:35,750 --> 00:14:39,780
‫Oke, jadi itu hanya bug bodoh, oke, dan sekarang

255
00:14:39,780 --> 00:14:41,620
‫seharusnya sudah berfungsi.

256
00:14:41,620 --> 00:14:45,000
‫Jadi, tentu saja, kami ingin membandingkan kata sandi

257
00:14:45,000 --> 00:14:47,050
‫saat ini dengan kata

258
00:14:47,050 --> 00:14:50,220
‫sandi yang saat ini tersimpan di database, oke.

259
00:14:50,220 --> 00:14:51,503
‫Jadi, mari

260
00:14:52,670 --> 00:14:55,460
‫kita coba lagi, dan itulah kesalahan validasi

261
00:14:55,460 --> 00:14:57,080
‫yang kita cari, jadi

262
00:14:57,080 --> 00:14:59,840
‫kata sandinya tidak sama karena memang tidak.

263
00:14:59,840 --> 00:15:02,610
‫Dan sekarang, sebelum benar-benar memperbarui kata sandi, mari

264
00:15:02,610 --> 00:15:04,560
‫kita lihat Kompas di sini.

265
00:15:06,070 --> 00:15:08,550
‫Mari kita perbarui di sini dengan

266
00:15:08,550 --> 00:15:11,160
‫cepat, dan sekarang, ini adalah kata sandinya.

267
00:15:11,160 --> 00:15:15,080
‫Jadi, berakhir di sini adalah pW1i, oke?

268
00:15:15,080 --> 00:15:17,410
‫Jadi, mari perbarui kata

269
00:15:17,410 --> 00:15:21,333
‫sandinya sekarang dan lihat seperti apa nanti, oke?

270
00:15:23,400 --> 00:15:25,633
‫Jadi, sekarang semuanya harus benar.

271
00:15:26,720 --> 00:15:31,720
‫Dan, memang, kami mendapatkan kesuksesan dan token kami, baiklah.

272
00:15:33,500 --> 00:15:36,000
‫Jadi, mari kita konfirmasikan di sini dengan

273
00:15:36,000 --> 00:15:38,570
‫cepat, dan, memang, Anda melihat bahwa kata sandi

274
00:15:38,570 --> 00:15:40,830
‫berubah dan juga stempel waktu saat

275
00:15:40,830 --> 00:15:44,403
‫ini, jadi waktu di mana pada dasarnya saya merekam video ini.

276
00:15:45,370 --> 00:15:48,670
‫Baiklah, dan sekarang, seperti sebelumnya, mari kita

277
00:15:48,670 --> 00:15:51,960
‫lakukan tes ini di sini.

278
00:15:51,960 --> 00:15:55,433
‫Jadi, pada dasarnya menyimpan token sebagai variabel lingkungan.

279
00:15:59,150 --> 00:16:03,910
‫Jadi, agar semuanya benar-benar berfungsi di sini di Postman.

280
00:16:03,910 --> 00:16:06,453
‫Oke, mari kita simpan

281
00:16:07,590 --> 00:16:12,590
‫itu sebenarnya, perbarui kata sandi pengguna saat ini untuk membuatnya benar-benar

282
00:16:14,560 --> 00:16:17,780
‫eksplisit, dan ya, saya pikir itu saja.

283
00:16:17,780 --> 00:16:21,090
‫Saya rasa hanya ini yang perlu kita lakukan

284
00:16:21,090 --> 00:16:24,090
‫untuk memperbarui kata sandi pengguna .

285
00:16:24,090 --> 00:16:27,890
‫Selanjutnya, kami akan mengimplementasikan pembaruan data pengguna lain,

286
00:16:27,890 --> 00:16:30,713
‫seperti email atau kata sandi.

