﻿1
00:00:00,910 --> 00:00:02,380
‫Sprecher: Willkommen zurück.

2
00:00:02,380 --> 00:00:05,510
‫In diesem Video lernen Sie eine supersichere Methode zum

3
00:00:05,510 --> 00:00:06,983
‫Abmelden von Benutzern kennen.

4
00:00:08,580 --> 00:00:12,110
‫Wenn wir einen Benutzer bis zu diesem Zeitpunkt löschen wollten, haben

5
00:00:12,110 --> 00:00:15,233
‫wir das Cookie einfach aus unserem Browser gelöscht.

6
00:00:16,640 --> 00:00:17,570
‫Rechts?

7
00:00:17,570 --> 00:00:19,600
‫Also so etwas wie dieses,

8
00:00:19,600 --> 00:00:21,190
‫und dann entfernen.

9
00:00:21,190 --> 00:00:24,020
‫Die Sache ist jedoch, dass wir dieses

10
00:00:24,020 --> 00:00:26,490
‫Cookie als reines http-Cookie erstellt haben.

11
00:00:26,490 --> 00:00:27,580
‫Denken Sie

12
00:00:27,580 --> 00:00:30,420
‫daran, und das bedeutet, dass wir dieses Cookie in

13
00:00:30,420 --> 00:00:32,730
‫unserem Browser in keiner Weise manipulieren können.

14
00:00:32,730 --> 00:00:33,930
‫Wir können es also

15
00:00:33,930 --> 00:00:35,903
‫nicht ändern, und wir können es auch nicht löschen.

16
00:00:36,820 --> 00:00:40,580
‫Schauen wir uns also kurz die Stelle im Code an, an der wir

17
00:00:40,580 --> 00:00:41,643
‫das gemacht haben.

18
00:00:42,730 --> 00:00:44,170
‫Also im Authentifizierungscontroller

19
00:00:45,316 --> 00:00:48,830
‫dort oben, wo wir tatsächlich dieses Cookie erstellen,

20
00:00:49,930 --> 00:00:52,103
‫damit es genau hier ist.

21
00:00:53,810 --> 00:00:56,910
‫Denken Sie auch daran, dass wir das

22
00:00:56,910 --> 00:01:00,350
‫Cookie im Browser in keiner Weise manipulieren können.

23
00:01:00,350 --> 00:01:01,760
‫Nicht einmal zerstören.

24
00:01:01,760 --> 00:01:03,220
‫Also löschen.

25
00:01:03,220 --> 00:01:07,510
‫Wenn wir also weiterhin diese supersichere Methode zum Speichern

26
00:01:07,510 --> 00:01:09,290
‫von Cookies verwenden möchten,

27
00:01:09,290 --> 00:01:12,730
‫wie können wir dann Benutzer auf unserer Website

28
00:01:12,730 --> 00:01:14,260
‫tatsächlich abmelden?

29
00:01:14,260 --> 00:01:17,300
‫Denn normalerweise löschen wir bei der JWT-Authentifizierung nur

30
00:01:17,300 --> 00:01:18,820
‫das Cookie oder

31
00:01:18,820 --> 00:01:21,000
‫den Token aus dem lokalen Speicher.

32
00:01:21,000 --> 00:01:25,400
‫Aber auch das ist bei dieser Verwendung nicht möglich.

33
00:01:25,400 --> 00:01:28,240
‫Was wir stattdessen tun werden, ist, eine

34
00:01:28,240 --> 00:01:31,940
‫sehr einfache Abmelderoute zu erstellen, die einfach ein neues

35
00:01:31,940 --> 00:01:34,340
‫Cookie mit genau demselben Namen, aber

36
00:01:34,340 --> 00:01:36,170
‫ohne das Token zurücksendet.

37
00:01:36,170 --> 00:01:38,810
‫Damit wird dann das aktuelle Cookie, das

38
00:01:38,810 --> 00:01:41,970
‫wir im Browser haben, mit einem mit demselben Namen,

39
00:01:41,970 --> 00:01:43,740
‫aber ohne Token überschrieben.

40
00:01:43,740 --> 00:01:46,440
‫Wenn dieses Cookie dann zusammen mit

41
00:01:46,440 --> 00:01:49,560
‫der nächsten Anfrage gesendet wird, können wir den

42
00:01:49,560 --> 00:01:51,960
‫Benutzer nicht als eingeloggt identifizieren.

43
00:01:51,960 --> 00:01:55,430
‫Und so wird dieser dann effektiv den Benutzer abmelden.

44
00:01:55,430 --> 00:01:57,140
‫Und wir würden diesem

45
00:01:57,140 --> 00:01:59,580
‫Cookie auch eine sehr kurze Ablaufzeit geben.

46
00:01:59,580 --> 00:02:02,300
‫Dies ist also ein bisschen so, als

47
00:02:02,300 --> 00:02:03,500
‫würde man

48
00:02:03,500 --> 00:02:07,920
‫das Cookie löschen, aber mit einem sehr cleveren Workaround wie diesem, okay?

49
00:02:07,920 --> 00:02:11,203
‫Also lass uns das hier machen, gleich nach dem Einloggen.

50
00:02:16,740 --> 00:02:20,480
‫Wenn wir also eine tokenbasierte Authentifizierung durchführen, brauchen wir

51
00:02:20,480 --> 00:02:22,770
‫normalerweise nie einen solchen Endpunkt, aber

52
00:02:25,050 --> 00:02:30,020
‫wenn wir ein supersicheres Cookie senden möchten, wie wir es gut machen, müssen

53
00:02:30,020 --> 00:02:31,920
‫wir es so machen.

54
00:02:32,770 --> 00:02:36,900
‫Also setzen wir bei der Antwort das Cookie wieder, und das Geheimnis

55
00:02:36,900 --> 00:02:40,220
‫besteht darin, ihm genau denselben Namen zu geben.

56
00:02:40,220 --> 00:02:41,930
‫Also genau wie ich

57
00:02:41,930 --> 00:02:44,450
‫bereits erwähnt habe, und das ist jwt.

58
00:02:44,450 --> 00:02:47,800
‫Also genau wie hier, okay?

59
00:02:47,800 --> 00:02:50,700
‫Aber hier senden wir dann den

60
00:02:50,700 --> 00:02:54,460
‫Token, aber jetzt senden wir einfach einen Dummy-Text.

61
00:02:54,460 --> 00:02:56,113
‫Sagen wir, abgemeldet und

62
00:02:58,130 --> 00:02:59,530
‫dann die Cookie-Optionen.

63
00:03:02,320 --> 00:03:04,280
‫Also ein Ablaufdatum, wie in

64
00:03:04,280 --> 00:03:05,893
‫10 Sekunden ab jetzt.

65
00:03:07,550 --> 00:03:09,970
‫Erstellen wir also ein neues Datum

66
00:03:09,970 --> 00:03:10,900
‫basierend

67
00:03:11,940 --> 00:03:14,210
‫auf dem Datum. jetzt

68
00:03:15,610 --> 00:03:17,290
‫plus 10 Sekunden.

69
00:03:17,290 --> 00:03:20,173
‫Das sind also 10 mal 1000.

70
00:03:21,660 --> 00:03:26,060
‫Und ich werde es auch wieder auf http only setzen.

71
00:03:26,060 --> 00:03:27,600
‫Auf "true" setzen,

72
00:03:27,600 --> 00:03:30,330
‫aber wir müssen es nicht als sicher festlegen,

73
00:03:30,330 --> 00:03:32,900
‫da in diesem Fall keine sensiblen Daten

74
00:03:32,900 --> 00:03:34,833
‫vorhanden sind, die jeder abrufen kann.

75
00:03:36,560 --> 00:03:38,083
‫Hier fehlt das Komma,

76
00:03:39,560 --> 00:03:42,803
‫also müssen wir jetzt nur noch diese Antwort zurücksenden.

77
00:03:43,660 --> 00:03:46,100
‫Also Status 200 und lasst es uns

78
00:03:50,730 --> 00:03:53,143
‫hier einfach als Erfolg markieren.

79
00:03:57,000 --> 00:04:00,930
‫Dann müssen wir es natürlich auch in unserer Route hinzufügen, damit

80
00:04:00,930 --> 00:04:02,740
‫das bei der Benutzerroute ist,

81
00:04:04,470 --> 00:04:06,853
‫also lass es uns gleich hier nach

82
00:04:07,900 --> 00:04:11,220
‫dem Einloggen machen, aber dieses wird eigentlich eine Get-Anfrage

83
00:04:11,220 --> 00:04:13,130
‫sein, weil wir keine Daten

84
00:04:13,130 --> 00:04:14,660
‫senden werden zusammen

85
00:04:14,660 --> 00:04:16,410
‫mit der Aufforderung, nichts

86
00:04:16,410 --> 00:04:19,190
‫zu ändern, bekommen wir eigentlich nur ein Cookie.

87
00:04:19,190 --> 00:04:21,730
‫Und so macht dieser Name tatsächlich Sinn.

88
00:04:21,730 --> 00:04:23,853
‫Oder dieses Verb macht tatsächlich Sinn.

89
00:04:24,860 --> 00:04:26,580
‫Also loggen Sie

90
00:04:26,580 --> 00:04:31,580
‫sich aus, und jetzt können wir diesen Weg tatsächlich einschlagen, genau wie wir

91
00:04:31,610 --> 00:04:34,463
‫es hier mit unserer Axios-Bibliothek getan haben.

92
00:04:37,420 --> 00:04:39,110
‫Also exportieren, ausloggen oder

93
00:04:39,110 --> 00:04:40,590
‫eigentlich const zuerst

94
00:04:40,590 --> 00:04:41,950
‫und so wie

95
00:04:47,320 --> 00:04:48,980
‫vorher verwenden wir einen

96
00:04:48,980 --> 00:04:50,790
‫try-catch-Block, der in diesem

97
00:04:53,260 --> 00:04:56,140
‫Fall nicht so wichtig ist, da beim

98
00:04:56,140 --> 00:04:59,270
‫Ausloggen nicht wirklich ein Fehler auftreten kann,

99
00:04:59,270 --> 00:05:00,270
‫oder?

100
00:05:00,270 --> 00:05:02,420
‫Aber trotzdem, nur für den Fall, dass wir

101
00:05:02,420 --> 00:05:04,140
‫zum Beispiel keine Internetverbindung haben.

102
00:05:04,140 --> 00:05:07,800
‫In diesem Fall erhalten wir dann einen schönen Fehler und lassen

103
00:05:07,800 --> 00:05:09,910
‫uns das hier zuerst tun.

104
00:05:09,910 --> 00:05:11,060
‫Also Fehler beim

105
00:05:16,570 --> 00:05:17,570
‫Abmelden anzeigen,

106
00:05:20,010 --> 00:05:21,520
‫versuchen Sie es erneut.

107
00:05:21,520 --> 00:05:23,730
‫Okay, aber das hier sollte, wie gesagt,

108
00:05:23,730 --> 00:05:25,393
‫nicht so oft vorkommen.

109
00:05:26,330 --> 00:05:27,170
‫Lassen Sie uns

110
00:05:28,370 --> 00:05:29,203
‫stattdessen

111
00:05:30,060 --> 00:05:31,973
‫unsere Anfrage mit Axios erledigen.

112
00:05:33,810 --> 00:05:34,643
‫Gut.

113
00:05:37,760 --> 00:05:39,610
‫Und so ist die Methode dieses

114
00:05:41,980 --> 00:05:43,120
‫Mal get und

115
00:05:44,030 --> 00:05:45,523
‫die URL ist ähnlich wie

116
00:05:46,950 --> 00:05:48,030
‫hier, aber es

117
00:05:49,480 --> 00:05:50,313
‫ist Abmelden.

118
00:05:52,177 --> 00:05:56,140
‫Und dann laden wir als nächsten Schritt auch die Seite neu.

119
00:05:56,140 --> 00:05:58,180
‫Das machen wir also immer

120
00:05:58,180 --> 00:06:00,400
‫manuell, wenn wir ein Cookie löschen, oder?

121
00:06:00,400 --> 00:06:03,500
‫Und hier müssen wir es natürlich programmatisch tun.

122
00:06:03,500 --> 00:06:04,333
‫Rechts?

123
00:06:04,333 --> 00:06:05,550
‫Und wir müssen es

124
00:06:05,550 --> 00:06:09,780
‫hier tun, denn da dies eine Ajax-Anfrage ist, können wir dies nicht auf

125
00:06:09,780 --> 00:06:10,990
‫der Backend-Seite tun.

126
00:06:10,990 --> 00:06:13,100
‫Wir können es also nicht mit Express machen.

127
00:06:13,100 --> 00:06:16,420
‫Und deshalb müssen wir es hier natürlich manuell tun.

128
00:06:16,420 --> 00:06:17,350
‫Rechts?

129
00:06:17,350 --> 00:06:20,680
‫Andernfalls wären wir technisch abgemeldet, aber unser Benutzermenü würde

130
00:06:20,680 --> 00:06:23,320
‫immer noch widerspiegeln, sodass es immer noch

131
00:06:23,320 --> 00:06:25,950
‫anzeigen würde, dass wir angemeldet sind.

132
00:06:25,950 --> 00:06:29,120
‫Und so müssen wir natürlich nur die Seite neu laden,

133
00:06:29,120 --> 00:06:31,950
‫die dann im Grunde das ungültige Cookie an

134
00:06:31,950 --> 00:06:33,150
‫den Server

135
00:06:33,150 --> 00:06:36,140
‫senden würde, so dass eines, das wir gerade ohne

136
00:06:36,140 --> 00:06:38,190
‫Token erhalten haben und dann sind

137
00:06:38,190 --> 00:06:42,303
‫wir nicht mehr eingeloggt, und daher wird dann unser Benutzermenü verschwinden, ja?

138
00:06:43,210 --> 00:06:46,150
‫Also machen wir das, wenn es einen Erfolg gab.

139
00:06:46,150 --> 00:06:51,150
‫Also, wie zuvor, ruhen Sie sich aus. Daten. Status.

140
00:06:52,720 --> 00:06:56,540
‫Und so senden wir in diesem Endpunkt auch den auf

141
00:06:57,430 --> 00:06:59,140
‫Erfolg gesetzten Status zurück

142
00:06:59,140 --> 00:07:02,040
‫und können das hier noch einmal testen.

143
00:07:02,040 --> 00:07:03,800
‫Und wenn dies der

144
00:07:03,800 --> 00:07:06,290
‫Fall ist, brauchen wir dies eigentlich nicht

145
00:07:06,290 --> 00:07:11,180
‫einmal, also in diesem Fall Witwenstandort. neu laden.

146
00:07:11,180 --> 00:07:13,520
‫Und dann ist etwas wirklich

147
00:07:13,520 --> 00:07:16,260
‫Wichtiges, dass wir es hier tatsächlich auf

148
00:07:16,260 --> 00:07:19,070
‫"true" setzen müssen, und das erzwingt dann ein

149
00:07:19,070 --> 00:07:22,280
‫Neuladen vom Server und nicht vom Browser-Cache, in Ordnung?

150
00:07:22,280 --> 00:07:24,830
‫Jetzt und natürlich müssen wir es hier als

151
00:07:26,080 --> 00:07:27,710
‫asynchron markieren, und okay.

152
00:07:27,710 --> 00:07:30,350
‫Dieser Teil hier ist also noch einmal sehr

153
00:07:30,350 --> 00:07:32,930
‫wichtig, da er sonst möglicherweise einfach dieselbe Seite

154
00:07:32,930 --> 00:07:33,770
‫aus dem

155
00:07:33,770 --> 00:07:37,070
‫Cache lädt, die dann noch unser Benutzermenü dort oben hätte.

156
00:07:37,070 --> 00:07:38,970
‫Aber das ist natürlich nicht das,

157
00:07:38,970 --> 00:07:42,243
‫was wir wollen, wir wollen wirklich, dass eine neue Seite vom Server kommt.

158
00:07:43,540 --> 00:07:44,720
‫Gut?

159
00:07:44,720 --> 00:07:47,020
‫Wir haben also unsere Logout-Funktion und

160
00:07:47,020 --> 00:07:51,560
‫jetzt im Index müssen wir sie im Grunde jetzt auslösen, sobald

161
00:07:51,560 --> 00:07:53,700
‫wir diese Schaltfläche drücken.

162
00:07:53,700 --> 00:07:56,463
‫Lassen Sie uns hier zuerst ein Element erstellen.

163
00:07:59,470 --> 00:08:00,830
‫Also das Dokument

164
00:08:02,080 --> 00:08:04,830
‫mit der Schaltfläche zum Abmelden. querySelector und erinnern

165
00:08:10,786 --> 00:08:14,203
‫Sie sich daran, wie wir dieses Element erstellt haben.

166
00:08:15,660 --> 00:08:17,783
‫Das ist also hier.

167
00:08:19,350 --> 00:08:20,976
‫Also dieser.

168
00:08:20,976 --> 00:08:23,110
‫Also selektieren wir jetzt nach dieser Klasse.

169
00:08:23,110 --> 00:08:26,910
‫Okay, und wir könnten hier natürlich auch einen Ausweis gebrauchen,

170
00:08:26,910 --> 00:08:30,240
‫aber das ist nicht wirklich wichtig, okay?

171
00:08:30,240 --> 00:08:33,760
‫Was hier wichtig ist, ist jetzt zu

172
00:08:33,760 --> 00:08:35,713
‫sagen, wenn es

173
00:08:39,980 --> 00:08:44,980
‫einen Abmelde-Button gibt, dann logOutButton. addEventListener.

174
00:08:45,720 --> 00:08:48,650
‫Wir möchten also, dass es bei jedem

175
00:08:48,650 --> 00:08:52,330
‫Klick auf alle Ereignisse hört, die auf dieser Schaltfläche stattfinden.

176
00:08:52,330 --> 00:08:54,370
‫Wir warten also auf das

177
00:08:54,370 --> 00:08:57,460
‫Click-Ereignis und rufen dann die Log-Out-Funktion auf, die wir

178
00:08:58,740 --> 00:09:00,800
‫noch nicht importiert haben, also fügen

179
00:09:00,800 --> 00:09:02,650
‫wir das hier hinzu.

180
00:09:02,650 --> 00:09:06,023
‫Also einloggen und ausloggen.

181
00:09:07,680 --> 00:09:10,223
‫Alles klar, und das sollte es eigentlich sein.

182
00:09:11,290 --> 00:09:14,570
‫Also, lass es uns jetzt testen.

183
00:09:14,570 --> 00:09:17,240
‫Laden Sie es zur Sicherheit noch einmal

184
00:09:17,240 --> 00:09:18,740
‫neu, und jetzt

185
00:09:18,740 --> 00:09:20,870
‫bekommen wir einen Fehler beim Abmelden.

186
00:09:20,870 --> 00:09:22,253
‫Versuchen Sie es erneut, warum ist das so.

187
00:09:26,650 --> 00:09:30,710
‫Nun, versuchen wir, den Fehler besser zu untersuchen.

188
00:09:30,710 --> 00:09:33,130
‫Wichtig ist aber, dass das alles eigentlich

189
00:09:33,130 --> 00:09:34,283
‫schon funktioniert.

190
00:09:35,480 --> 00:09:36,970
‫Dieser Event-Listener hier

191
00:09:39,207 --> 00:09:42,407
‫und auch diese Logout-Funktion machen also ihre Arbeit.

192
00:09:44,360 --> 00:09:45,500
‫Also lass

193
00:09:46,880 --> 00:09:51,383
‫uns einfach trösten. Protokollfehler. Antwort.

194
00:09:55,370 --> 00:09:58,310
‫Also lass uns das hier neu laden.

195
00:09:58,310 --> 00:10:00,223
‫Sollte irgendwie automatisch passieren.

196
00:10:01,330 --> 00:10:02,343
‫Gut.

197
00:10:03,350 --> 00:10:04,703
‫Versuchen Sie es also noch einmal.

198
00:10:06,820 --> 00:10:08,480
‫Also, was hier passiert,

199
00:10:12,500 --> 00:10:16,493
‫so dass das Umwandeln in die Objekt-ID beim Abmelden des Werts fehlgeschlagen ist.

200
00:10:17,880 --> 00:10:20,180
‫Das ist also sehr seltsam.

201
00:10:20,180 --> 00:10:21,523
‫Sehen Sie sich diese Route an.

202
00:10:23,360 --> 00:10:24,523
‫Oh, das

203
00:10:25,910 --> 00:10:27,750
‫ist natürlich ein schwerwiegender Fehler.

204
00:10:27,750 --> 00:10:29,223
‫Sollte sich natürlich einloggen.

205
00:10:31,110 --> 00:10:34,933
‫Okay, aber diese Art kommt natürlich immer wieder vor.

206
00:10:36,490 --> 00:10:38,423
‫Also lass uns das hier neu laden.

207
00:10:42,240 --> 00:10:43,733
‫Und versuchen Sie es noch einmal.

208
00:10:44,680 --> 00:10:46,700
‫Und jetzt bekommen wir hier etwas.

209
00:10:46,700 --> 00:10:48,200
‫Jetzt ist es still und

210
00:10:48,200 --> 00:10:50,160
‫ein Fehler, aber das ist überhaupt kein Problem.

211
00:10:50,160 --> 00:10:52,750
‫Wir haben also einen

212
00:10:52,750 --> 00:10:55,810
‫JSON-Webtoken-Fehler, weil unser JSON-Webtoken fehlerhaft ist.

213
00:10:55,810 --> 00:10:57,890
‫Und so kommt es, wie

214
00:10:57,890 --> 00:11:00,610
‫Sie sehen können, von der eingeloggten Middleware.

215
00:11:00,610 --> 00:11:04,323
‫Und so können wir irgendwie erraten, warum das so ist, oder?

216
00:11:05,530 --> 00:11:09,290
‫Gehen wir also zurück und fügen unseren Authentifizierungscontroller hinzu.

217
00:11:09,290 --> 00:11:11,410
‫Und das JSON-Webtoken, das wir

218
00:11:11,410 --> 00:11:14,430
‫jetzt im Grunde senden, ist das hier, oder?

219
00:11:14,430 --> 00:11:15,960
‫Das hat sich also abgemeldet.

220
00:11:15,960 --> 00:11:17,520
‫Und dann hier

221
00:11:18,370 --> 00:11:23,040
‫im isLoggedIn, das dann im Grunde einen Fehler auslöst.

222
00:11:23,040 --> 00:11:27,170
‫Also hier in der JSON-Webtoken-Verifizierung, oder?

223
00:11:27,170 --> 00:11:29,420
‫Und da diese gesamte Funktion hier

224
00:11:29,420 --> 00:11:33,070
‫in dieses catchASync eingeschlossen ist, wird dieser Fehler an die

225
00:11:33,070 --> 00:11:35,100
‫gesamte globale Fehlerbehandlungs-Middleware gesendet.

226
00:11:35,100 --> 00:11:38,290
‫Und das wird dann diesen Fehler erzeugen, den wir in diesem

227
00:11:38,290 --> 00:11:40,240
‫Fall nicht wollen, erinnerst du dich?

228
00:11:40,240 --> 00:11:41,368
‫In dieser

229
00:11:41,368 --> 00:11:45,220
‫isLoggedIn-Middleware möchten wir also keine Fehler verursachen.

230
00:11:45,220 --> 00:11:47,480
‫Lassen Sie uns das

231
00:11:47,480 --> 00:11:50,520
‫also tatsächlich beheben und entfernen Sie dieses

232
00:11:51,490 --> 00:11:55,090
‫catchASync von hier, da wir keine Async-Fehler abfangen möchten.

233
00:11:55,090 --> 00:11:57,640
‫Stattdessen möchten wir sie grundsätzlich lokal

234
00:11:57,640 --> 00:11:59,200
‫abfangen und dann,

235
00:11:59,200 --> 00:12:02,083
‫wenn ein Fehler auftritt, einfach weiter sagen.

236
00:12:03,300 --> 00:12:05,240
‫So, okay?

237
00:12:05,240 --> 00:12:06,363
‫Also machen wir das.

238
00:12:08,350 --> 00:12:10,813
‫Also packen Sie all dies in einen Versuch ein.

239
00:12:14,170 --> 00:12:15,133
‫Schließen Sie es hier.

240
00:12:18,750 --> 00:12:19,890
‫Nun, etwas anderes stimmt nicht.

241
00:12:19,890 --> 00:12:23,303
‫Ah! Wahrscheinlich fehlt uns nur der Fangblock.

242
00:12:27,520 --> 00:12:32,010
‫Und so wollen wir in diesem Fall zur nächsten Middleware übergehen.

243
00:12:32,010 --> 00:12:35,463
‫Also im Grunde sagen, dass es keinen angemeldeten Benutzer gibt.

244
00:12:36,910 --> 00:12:37,743
‫Rechts?

245
00:12:38,970 --> 00:12:41,543
‫Also, testen wir es noch einmal.

246
00:12:42,510 --> 00:12:45,283
‫Geh zurück, oh , und jetzt sind wir nicht mehr eingeloggt.

247
00:12:47,900 --> 00:12:49,590
‫Also melde dich an.

248
00:12:49,590 --> 00:12:51,103
‫Das war erfolgreich.

249
00:12:52,160 --> 00:12:54,093
‫Und jetzt gleich abmelden.

250
00:12:55,210 --> 00:12:59,110
‫Ah! Wunderschönen! Jetzt funktioniert es richtig.

251
00:12:59,110 --> 00:13:02,160
‫Diesmal ist die Verifizierung hier

252
00:13:02,160 --> 00:13:04,160
‫natürlich fehlgeschlagen, weil das

253
00:13:04,160 --> 00:13:07,730
‫JSON-Webtoken nicht das von diesem Algorithmus erwartete

254
00:13:07,730 --> 00:13:09,560
‫Format hatte.

255
00:13:09,560 --> 00:13:12,380
‫Aber was in diesem Fall passiert ist, ist,

256
00:13:12,380 --> 00:13:15,020
‫dass der Fehler nicht mit unserer

257
00:13:15,020 --> 00:13:18,470
‫catchASync-Funktion abgefangen wurde, sondern er ging dann direkt zum

258
00:13:18,470 --> 00:13:21,480
‫Catch-Fehler, der dann direkt zur nächsten Middleware ging.

259
00:13:21,480 --> 00:13:23,790
‫Alles klar, großartig!

260
00:13:23,790 --> 00:13:26,800
‫Wenn wir uns jetzt also unsere Cookies

261
00:13:26,800 --> 00:13:30,743
‫ansehen, haben wir einen im Einsatz, der wahrscheinlich schon abgelaufen ist.

262
00:13:31,840 --> 00:13:35,810
‫Sie sehen also, es hat nur diese Lebensdauer von 10 Sekunden und wenn ich

263
00:13:35,810 --> 00:13:38,050
‫diese Seite jetzt neu lade, dann sollte sie

264
00:13:40,130 --> 00:13:41,680
‫eigentlich schon weg sein.

265
00:13:43,700 --> 00:13:46,350
‫Sie sehen also, dass keine Cookies verwendet werden.

266
00:13:46,350 --> 00:13:48,800
‫Okay, und das ist eigentlich alles, was

267
00:13:48,800 --> 00:13:51,583
‫wir tun müssen, um den Benutzer von unserer Website abzumelden.

