﻿1
00:00:00,191 --> 00:00:02,870
‫-: Dalam kuliah ini, kita akan

2
00:00:02,870 --> 00:00:07,210
‫dengan cepat mempelajari cara menguji koneksi https yang aman, dengan

3
00:00:07,210 --> 00:00:08,730
‫Heroku, karena

4
00:00:08,730 --> 00:00:11,041
‫kita benar-benar membutuhkannya, pada satu

5
00:00:11,041 --> 00:00:12,983
‫titik, di aplikasi kita.

6
00:00:14,540 --> 00:00:18,560
‫Jadi, mari kita pergi ke sini ke pengontrol otentikasi kami.

7
00:00:18,560 --> 00:00:21,060
‫Dan di sini di atas,

8
00:00:21,060 --> 00:00:24,049
‫dalam fungsi buat token terkirim ini,

9
00:00:24,049 --> 00:00:26,840
‫inilah tempat kami mengatur cookie

10
00:00:26,840 --> 00:00:30,240
‫web yang berdekatan untuk mengamankan, jika kami

11
00:00:30,240 --> 00:00:32,343
‫sedang dalam produksi.

12
00:00:33,300 --> 00:00:34,661
‫Ingat bahwa.

13
00:00:34,661 --> 00:00:37,630
‫Jadi, ingat bahwa kami membuat fungsi ini

14
00:00:37,630 --> 00:00:39,270
‫dengan respons yang

15
00:00:39,270 --> 00:00:41,255
‫berdekatan, ia juga mengirimkan

16
00:00:41,255 --> 00:00:44,670
‫cookie, yang juga berisi token web yang berdekatan.

17
00:00:44,670 --> 00:00:47,090
‫Dan cookie itu memiliki beberapa opsi.

18
00:00:47,090 --> 00:00:49,260
‫Yang pertama, saat habis masa berlakunya.

19
00:00:49,260 --> 00:00:50,093
‫Yang

20
00:00:50,093 --> 00:00:54,490
‫kedua, yang pada dasarnya hanya dapat diakses melalui http.

21
00:00:54,490 --> 00:00:56,570
‫Dan kemudian, ketika kami sedang

22
00:00:56,570 --> 00:00:59,344
‫dalam produksi, kami mengatakan bahwa cookie ini hanya

23
00:00:59,344 --> 00:01:01,480
‫dapat dikirim pada koneksi yang aman.

24
00:01:01,480 --> 00:01:04,770
‫Jadi, pada dasarnya, pada koneksi https.

25
00:01:04,770 --> 00:01:05,810
‫Baiklah.

26
00:01:05,810 --> 00:01:08,117
‫Sekarang, masalahnya adalah

27
00:01:08,117 --> 00:01:10,810
‫fakta bahwa kami sedang dalam

28
00:01:10,810 --> 00:01:14,370
‫produksi, tidak berarti bahwa koneksi benar-benar aman.

29
00:01:14,370 --> 00:01:15,340
‫Benar?

30
00:01:15,340 --> 00:01:18,200
‫Karena tentu saja, tidak semua aplikasi

31
00:01:18,200 --> 00:01:21,470
‫yang di-deploy secara otomatis disetel ke https.

32
00:01:21,470 --> 00:01:25,021
‫Jadi kita perlu mengubah ini jika itu yang kita miliki di sini.

33
00:01:25,021 --> 00:01:25,892
‫Baiklah.

34
00:01:25,892 --> 00:01:29,700
‫Sekarang, secara ekspres kami sebenarnya memiliki properti aman

35
00:01:29,700 --> 00:01:31,860
‫yang ada dalam permintaan.

36
00:01:31,860 --> 00:01:33,682
‫Dan hanya

37
00:01:33,682 --> 00:01:38,630
‫jika koneksi aman, maka permintaan dot secure ini benar.

38
00:01:38,630 --> 00:01:39,463
‫Oke?

39
00:01:39,463 --> 00:01:41,090
‫Masuk akal, bukan?

40
00:01:41,090 --> 00:01:43,790
‫Sekarang masalahnya adalah, sebenarnya di Heroku,

41
00:01:43,790 --> 00:01:45,370
‫ini tidak berhasil.

42
00:01:45,370 --> 00:01:47,107
‫Dan itu karena

43
00:01:47,107 --> 00:01:52,107
‫proksi Heroku, jadi pada dasarnya mengarahkan ulang atau memodifikasi semua permintaan yang

44
00:01:52,290 --> 00:01:56,170
‫masuk ke dalam aplikasi kita sebelum benar-benar mencapai aplikasi.

45
00:01:56,170 --> 00:01:57,003
‫Baiklah.

46
00:01:57,003 --> 00:02:00,682
‫Jadi, agar ini juga berfungsi di Heroku, kita

47
00:02:00,682 --> 00:02:04,200
‫juga perlu menguji apakah x forward proto

48
00:02:04,200 --> 00:02:06,952
‫header disetel ke https.

49
00:02:06,952 --> 00:02:07,785
‫Baiklah.

50
00:02:07,785 --> 00:02:09,204
‫Jadi, kedengarannya agak

51
00:02:09,204 --> 00:02:13,170
‫membingungkan, tetapi sekali lagi, ini adalah sesuatu yang dilakukan Heroku secara internal.

52
00:02:13,170 --> 00:02:16,549
‫Jadi, mari kita uji di sini apakah req. aman adalah

53
00:02:16,549 --> 00:02:21,549
‫benar, atau jika req. header.

54
00:02:22,134 --> 00:02:27,134
‫Dan header yang kita cari adalah x forwarded proto.

55
00:02:29,820 --> 00:02:33,830
‫Dan header ini disetel ke https jika kita berada

56
00:02:33,830 --> 00:02:36,210
‫pada koneksi yang aman.

57
00:02:36,210 --> 00:02:37,050
‫Baiklah?

58
00:02:37,050 --> 00:02:40,190
‫Jadi, ini adalah sesuatu yang sangat khusus untuk Heroku.

59
00:02:40,190 --> 00:02:43,870
‫Dan itulah mengapa saya meninggalkan ini di sini untuk bagian

60
00:02:43,870 --> 00:02:46,113
‫terakhir, setelah kami menerapkan aplikasi.

61
00:02:46,950 --> 00:02:50,700
‫Jadi, jika salah satu req. secure adalah benar, atau

62
00:02:50,700 --> 00:02:55,150
‫jika tajuk ini di sini disetel ke https, maka kami

63
00:02:55,150 --> 00:02:58,660
‫ingin opsi aman di sini disetel ke benar.

64
00:02:58,660 --> 00:03:01,213
‫Dan, jadi, kita sebenarnya bisa melakukan refactor ini.

65
00:03:02,680 --> 00:03:04,500
‫Jadi, pada dasarnya kita dapat mengambil ini,

66
00:03:04,500 --> 00:03:06,180
‫karena ini akan menjadi kenyataan.

67
00:03:06,180 --> 00:03:08,186
‫Dan, jadi, saya katakan jika

68
00:03:08,186 --> 00:03:10,860
‫ini benar, maka katakanlah sama benarnya di sini.

69
00:03:10,860 --> 00:03:12,041
‫Jadi, itu tidak masuk akal.

70
00:03:12,041 --> 00:03:15,023
‫Kita malah bisa melakukannya seperti ini.

71
00:03:16,590 --> 00:03:18,110
‫Baiklah?

72
00:03:18,110 --> 00:03:20,820
‫Dan, sebenarnya, kita bisa melangkah lebih jauh.

73
00:03:20,820 --> 00:03:23,883
‫Dan letakkan opsi aman di sini.

74
00:03:25,350 --> 00:03:28,313
‫Jadi, mengapa harus di luar jika kita bisa meletakkannya di sini?

75
00:03:29,150 --> 00:03:33,823
‫Jadi, aman sama dengan ini, oke?

76
00:03:35,550 --> 00:03:37,723
‫Dan kemudian kita tidak lagi membutuhkan ini.

77
00:03:38,910 --> 00:03:41,370
‫Dan, karena kita sedang melakukan

78
00:03:41,370 --> 00:03:46,173
‫refactoring, kita sebenarnya tidak lagi membutuhkan variabel ini di sini sama sekali.

79
00:03:48,130 --> 00:03:50,946
‫Jadi, mari kita taruh di sini, berikan brankas,

80
00:03:50,946 --> 00:03:53,520
‫dan ada yang salah di sana.

81
00:03:53,520 --> 00:03:55,950
‫Oke, jadi, sekarang masalahnya adalah

82
00:03:55,950 --> 00:03:59,190
‫tidak memiliki akses saat ini ke permintaan

83
00:03:59,190 --> 00:04:00,680
‫dalam fungsi ini.

84
00:04:00,680 --> 00:04:03,103
‫Oke, jadi, kita perlu menambahkannya di sini.

85
00:04:04,050 --> 00:04:09,050
‫Permintaan dan kemudian di mana pun kita membuat token terkirim, tentu saja

86
00:04:09,120 --> 00:04:11,693
‫kita harus memasukkan permintaan di sana.

87
00:04:13,020 --> 00:04:14,063
‫Jadi, itu di sini.

88
00:04:17,000 --> 00:04:19,763
‫Jadi, gunakan perintah D untuk menemukan yang berikutnya pada dasarnya.

89
00:04:21,150 --> 00:04:22,353
‫Permintaan di sini.

90
00:04:27,740 --> 00:04:31,193
‫Dan akhirnya di sini juga.

91
00:04:33,010 --> 00:04:36,352
‫Oke, jadi, itu terlihat jauh lebih

92
00:04:36,352 --> 00:04:40,940
‫bagus dan juga harus bekerja jauh lebih bagus dari sebelumnya.

93
00:04:40,940 --> 00:04:44,480
‫Namun, saat ini, ini masih tidak akan berhasil, karena

94
00:04:44,480 --> 00:04:47,460
‫hanya ada satu hal lagi yang perlu

95
00:04:47,460 --> 00:04:51,350
‫kita lakukan, yang pada dasarnya adalah membuat proxy kepercayaan aplikasi kita.

96
00:04:51,350 --> 00:04:54,180
‫Jadi, sekali lagi, request dot

97
00:04:54,180 --> 00:04:57,550
‫secure tidak berfungsi sejak awal karena Heroku bertindak

98
00:04:57,550 --> 00:05:01,500
‫sebagai proxy, yang mengalihkan dan memodifikasi permintaan yang masuk.

99
00:05:01,500 --> 00:05:04,819
‫Dan, jadi, kita perlu pergi ke app dot JS

100
00:05:04,819 --> 00:05:08,010
‫dan kemudian tepat setelah yang ini di sini,

101
00:05:08,010 --> 00:05:10,640
‫sekarang mari kita percaya pada proxy.

102
00:05:10,640 --> 00:05:15,033
‫Dan kami melakukannya dengan mengatakan app dot enable trust proxy.

103
00:05:20,680 --> 00:05:21,513
‫Oke?

104
00:05:21,513 --> 00:05:24,498
‫Jadi, ini adalah sesuatu yang dibangun untuk

105
00:05:24,498 --> 00:05:26,980
‫mengekspresikan situasi seperti ini.

106
00:05:26,980 --> 00:05:27,813
‫Baiklah?

107
00:05:27,813 --> 00:05:31,400
‫Jadi, hanya jika kita memiliki pengaturan ini di sini

108
00:05:31,400 --> 00:05:35,210
‫dengan benar, maka header ini di sini akan diatur dengan

109
00:05:35,210 --> 00:05:38,483
‫benar, dan kita akan dapat membaca nilainya.

110
00:05:39,450 --> 00:05:40,410
‫Baiklah?

111
00:05:40,410 --> 00:05:44,470
‫Jadi, beginilah cara Anda menguji apakah koneksi aman atau tidak,

112
00:05:44,470 --> 00:05:47,363
‫saat aplikasi Anda di-deploy ke Heroku.

