1
00:00:00,330 --> 00:00:06,050
ようこそこれを歓迎します。私たちはユーザー認証に焦点を当てています。

2
00:00:06,120 --> 00:00:10,890
私の経験の著者は、学生が本当に知っていることは本当に興奮しています。なぜなら、彼女のアプリを正当なものにして、彼らを本当に使いやすく感じさせるからです。

3
00:00:10,890 --> 00:00:14,710
&nbsp;

4
00:00:14,760 --> 00:00:18,210
あなたがサインアップすることができれば、あなたはログインすることができ、あなたはログアウトすることができます。

5
00:00:18,690 --> 00:00:21,030
それは、それが楽しくてエキサイティングなことを教えることになります。

6
00:00:21,270 --> 00:00:26,580
しかし、真実は、認証がかなり複雑であるため、教えるのも本当に難しいことです。

7
00:00:27,180 --> 00:00:31,130
それを動作させるために適切な方法で一緒に収まる必要がある多くの可動部分があります。

8
00:00:31,140 --> 00:00:32,490
大きな概念がたくさんあります。

9
00:00:32,670 --> 00:00:34,850
正直なところ、それを動作させるためのコードがたくさんあります。

10
00:00:35,130 --> 00:00:40,170
幸いにも私たちのために、すぐに安全に認証を実装するのに役立つたくさんの素晴らしいツールがあります。

11
00:00:40,440 --> 00:00:41,530
&nbsp;

12
00:00:41,550 --> 00:00:45,060
今、このビデオの後半で私が安全に意味することを説明してください。

13
00:00:45,060 --> 00:00:49,860
ツールの説明と認証のワークフローについて説明する前に、私は教授法の背後にある私の思考過程についていくつかの洞察を与えておきたいと思います。

14
00:00:49,860 --> 00:00:53,540
&nbsp;

15
00:00:53,640 --> 00:00:57,990
それは私がそれを教えるのに多くの時間を費やしただけでなく、複数の異なる方法でそれを教えているそれらの話題の一つです。

16
00:00:57,990 --> 00:00:59,120
&nbsp;

17
00:00:59,520 --> 00:01:02,960
ユーザー認証を教えているときには、選択肢があります。

18
00:01:03,210 --> 00:01:09,090
&nbsp;

19
00:01:09,090 --> 00:01:14,580
&nbsp;

20
00:01:14,580 --> 00:01:15,660
そして私の選択は、全くツールを使わずに認証を一から教え、すべての重要なコンセプトの内容に焦点を合わせ、5時間6時間かかるかもしれないことを確認することでした。

21
00:01:15,660 --> 00:01:17,790
それは多くのビデオの多くのレッスンかもしれません。

22
00:01:17,910 --> 00:01:23,010
私たちはいくつかの学生を失うことになるかもしれませんが、我々は誰もが認証の仕組みを理解するようにします。

23
00:01:23,010 --> 00:01:23,960
&nbsp;

24
00:01:24,120 --> 00:01:30,000
あるいは、既存のツールのいくつかを使用して、ユーザー認証をより簡単に、より少ないコード行で追加することができます。この問題には、すべての点があります。作業。

25
00:01:30,120 --> 00:01:35,850
&nbsp;

26
00:01:35,850 --> 00:01:38,650
&nbsp;

27
00:01:38,760 --> 00:01:43,650
それを優先するのか、それとも生徒に物事を速くさせることが優先事項なのでしょうか。

28
00:01:43,650 --> 00:01:49,350
それは概念的な理解と知識の深さ、あるいは物事を作ることです。

29
00:01:49,350 --> 00:01:52,230
明らかに理想的な世界では、両方が欲しいでしょう。

30
00:01:52,230 --> 00:01:56,910
誰もが私たちが教えるすべてのことを理解して欲しいと思っており、生徒たちに実用的な知識がたくさんあり、すぐに物事を作れるようにしたいと考えています。

31
00:01:56,910 --> 00:02:00,830
&nbsp;

32
00:02:01,350 --> 00:02:06,930
過去には、私が何かを実装する前に、すべてのコンセプトを深く理解し、それがどのように働いて合っているかを教えて、私が始めたところで両方のアプローチを試みました。

33
00:02:06,960 --> 00:02:12,060
&nbsp;

34
00:02:12,060 --> 00:02:12,900
&nbsp;

35
00:02:13,290 --> 00:02:17,400
そして、私はちょうど試してみるところと反対のことをやって、まず何かを働かせてから戻ってきて、それがどのように働くか話します。

36
00:02:17,400 --> 00:02:19,350
&nbsp;

37
00:02:19,530 --> 00:02:24,240
そして私はこのビデオコースでどのようにアプローチしたいと思っているのか、さらに多くの時間を費やしました。私はこの講義をあまりにも多くの時間録画しました。すべてのコードを書き直しました。

38
00:02:24,240 --> 00:02:28,260
&nbsp;

39
00:02:28,260 --> 00:02:32,190
それは本当に重要であり、多くの生徒が楽しみにしているので、私が正解したいものです。

40
00:02:32,190 --> 00:02:33,120
&nbsp;

41
00:02:33,480 --> 00:02:38,850
だから私がしたことは、あなたが現在見ている認証で、この最初のユニットに2つのユニットを持つことです。

42
00:02:38,850 --> 00:02:39,660
&nbsp;

43
00:02:39,660 --> 00:02:43,040
私はあなたに非常に簡単な概要を与えることから始めるつもりです。

44
00:02:43,260 --> 00:02:46,740
深くはありませんが、認証の仕組みを簡単に概観します。

45
00:02:46,860 --> 00:02:51,450
そして、私たちは私たちの生活を楽にし、コードを短くするために話したこれらのツールを使うつもりです。

46
00:02:51,450 --> 00:02:52,300
&nbsp;

47
00:02:52,320 --> 00:02:53,730
すぐに使用する予定です。

48
00:02:53,970 --> 00:02:59,400
そして、焦点は、機会とオプションユニットの両方を持つものを作ることにのみあります。

49
00:02:59,460 --> 00:03:05,610
&nbsp;

50
00:03:05,610 --> 00:03:09,900
&nbsp;

51
00:03:09,900 --> 00:03:15,390
このコースの最後には、実際に認証を行うための深いダイビングがあります。ここでは、自分のユーザー認証を最初から実装しています。ここではツールを使用しません。目標を示します何かを作るだけで、両方の世界のベストをスタートさせることです。

52
00:03:15,750 --> 00:03:20,460
そして、私はすべてのコンセプトを見渡すつもりはありませんが、私は1時間を知って、物事の仕組みについて話しています。

53
00:03:20,520 --> 00:03:21,970
&nbsp;

54
00:03:22,170 --> 00:03:27,030
さて、私たちは、この大きなイデオロギーの議論をここから抜け出したので、私たちは今使っているツールを紹介したいので、パスポートというものを使うつもりです。

55
00:03:27,030 --> 00:03:31,350
&nbsp;

56
00:03:31,500 --> 00:03:32,320
はい。

57
00:03:32,610 --> 00:03:37,470
私たちのコードを短くして、実装をより速くすることが、人生をより簡単にするものであるため、私たちはそれを使用するだけではありません。

58
00:03:37,710 --> 00:03:39,430
&nbsp;

59
00:03:39,720 --> 00:03:42,620
しかし、それは実世界で多く使われているものでもあります。

60
00:03:42,750 --> 00:03:47,410
たくさんのアプリケーションがパスポートを使います。 S. その認証を実装します。

61
00:03:47,700 --> 00:03:49,320
だからここにホームページを見せてあげましょう。

62
00:03:49,560 --> 00:03:55,230
&nbsp;

63
00:03:55,230 --> 00:04:01,350
&nbsp;

64
00:04:01,350 --> 00:04:05,200
これはパスポートです。チャイヤはすっかり乱れていて、ちょっとしたタグラインで簡単な邪魔にならない認証があります。J米国のパスポートは、認証ミドルウェアで、非常に柔軟性があり、モジュール式のパスポートはエクスプレスベースのウェブアプリケーションに邪魔にならないようにします。

65
00:04:05,280 --> 00:04:10,950
包括的な戦略のセットは、ユーザー名とパスワードFacebook Twitterなどを使用して認証をサポートします。

66
00:04:11,070 --> 00:04:12,210
&nbsp;

67
00:04:12,210 --> 00:04:16,280
そして、ここには実際には300以上の異なる戦略があります。

68
00:04:16,440 --> 00:04:21,510
&nbsp;

69
00:04:21,930 --> 00:04:27,240
&nbsp;

70
00:04:27,240 --> 00:04:32,520
&nbsp;

71
00:04:32,880 --> 00:04:36,300
だから戦略はさまざまな種類の認証に言及されています。ユーザー認証には、電子メールとパスワードの伝統的な認証を使用しているかどうか、または以前にサイトやサイトで見たことのあるFacebookやTwitterなどのサービスアプリケーションでは、GoogleやTwitterやFacebookからログインするように求められます。

72
00:04:36,390 --> 00:04:41,690
そして実際にそれらのすべてを見ることができるより多くのものがあり、Fitbitを介してログインできるFitbitのようなものがあるので、それらを検索することができます。

73
00:04:41,690 --> 00:04:45,220
&nbsp;

74
00:04:45,440 --> 00:04:49,450
GoogleにはSpotify Reddit tumblr Google plusがあります。

75
00:04:49,700 --> 00:04:53,630
しかし、はるかに人気がFacebook TwitterやGoogleになるだろう。

76
00:04:53,620 --> 00:04:58,220
また、ローカル認証と呼ばれるものもあります。ここでは、ユーザー名または電子メールとパスワードだけをここから始めます。

77
00:04:58,490 --> 00:05:00,620
&nbsp;

78
00:05:00,620 --> 00:05:01,170
OK。

79
00:05:01,370 --> 00:05:03,900
それがパスポートを使用する基本ツールです。

80
00:05:03,940 --> 00:05:07,660
はい、私たちのユーザーの実装に大きな助けになるでしょう。

81
00:05:08,060 --> 00:05:12,960
しかし、私はここにあるPassport localという別のパッケージを使うつもりです。

82
00:05:13,190 --> 00:05:17,280
そして、これは認証のための計画または戦略の1つです。

83
00:05:17,360 --> 00:05:25,160
だからパスポートがありますFacebookのパスポートTwitterのパスポートGoogleとパスポートローカルと300の異なる戦略パスポートローカルはユーザー名とパスワードのためのものです。これは私たちが始めようとしているものです。

84
00:05:25,160 --> 00:05:30,700
&nbsp;

85
00:05:30,890 --> 00:05:36,610
しかし、パスポートに関して本当に素晴らしいことは、このコースの後半に、FacebookやTwitterを追加して追加することができ、ローカルでも保存できることです。アプリにログインする方法は10種類あります。

86
00:05:36,800 --> 00:05:42,290
&nbsp;

87
00:05:42,320 --> 00:05:47,420
通常、あなたはそれをかなり限られたものにしたいと思っていますが、私たちはPassportを使用し、パスポートに名前を付けることによって、私たちが望むだけの数を持つことができます。

88
00:05:47,420 --> 00:05:48,500
&nbsp;

89
00:05:48,530 --> 00:05:52,490
これは、このエントリーポイントをあらゆる種類の宛先に提供することに関するものです。

90
00:05:52,870 --> 00:05:58,240
OK、もう1つ、Passport local mongooseと呼ばれるパッケージを使用しています。

91
00:05:58,520 --> 00:06:04,460
だから私はハブを開いて、パスポートを持っています。ローカルのMongooseは、私たちがパスポートで認証を実装するのに役立つもう一つのパッケージです。それは特にマングースと一緒に働くように作られています。

92
00:06:04,460 --> 00:06:09,660
&nbsp;

93
00:06:09,830 --> 00:06:11,450
だから私たちはそれを使う必要はありません。

94
00:06:11,540 --> 00:06:16,310
私たちはパスポートを使うだけで逃げることができます。地元のモンゴセは、私たちがもっと速くそれを簡単にするのを手伝ってくれるでしょう。

95
00:06:16,310 --> 00:06:19,430
&nbsp;

96
00:06:19,520 --> 00:06:24,620
もちろん、オプションのオフからスクラッチのセクションでは、これらのツールを一切使わずにアートをゼロから作成していきます。

97
00:06:24,650 --> 00:06:25,760
&nbsp;

98
00:06:25,980 --> 00:06:26,470
OK。

99
00:06:26,570 --> 00:06:28,290
だから3つの主要なツールです。

100
00:06:28,340 --> 00:06:32,810
今私はあなたに、私たちが目に見えるほどエキサイティングではないことを警告する先を作るためのものを簡単にデモするつもりです。

101
00:06:32,810 --> 00:06:34,420
&nbsp;

102
00:06:34,520 --> 00:06:36,020
私はそれをまったくスタイルにしなかった。

103
00:06:36,020 --> 00:06:39,840
しかし、私たちはヨーフキャンプにセラフを追加する予定で、それをスタイリングしていきます。

104
00:06:40,000 --> 00:06:42,940
しかし今のところこれは私があなたに見せたいベアボーンの実装です。

105
00:06:43,220 --> 00:06:45,870
そこで、このホームページでは3つのボタンがありました。

106
00:06:46,120 --> 00:06:53,420
ログインしてログインしている場合のみ見ることができる秘密のページスラッシュの秘密があります。

107
00:06:53,420 --> 00:06:53,930
&nbsp;

108
00:06:53,960 --> 00:07:00,770
だから私が今試してみると今私はログインしていないし、ログインすると私に戻ってきて、ログインフォームを表示して登録します。秘密のページ。

109
00:07:00,760 --> 00:07:06,510
&nbsp;

110
00:07:06,830 --> 00:07:15,680
だから、ユーザー名は4〜5の6段階になり、パスワードはパスワードだけになり、サインアップします。

111
00:07:18,350 --> 00:07:21,030
そして今私が訪れることができる秘密を隠すために私はかかります。

112
00:07:21,290 --> 00:07:26,090
そして秘密のページには、私の最初のラップトップを持っていたとき、私の第七または第八のグレードから私の細胞からひどく恥ずかしい写真があります。

113
00:07:26,380 --> 00:07:28,040
&nbsp;

114
00:07:28,040 --> 00:07:28,900
ちょうどひどい。

115
00:07:29,090 --> 00:07:33,180
それは明らかに秘密の秘密を明らかにしています。

116
00:07:33,200 --> 00:07:41,530
そして今私がログアウトすると、私はもはや秘密を隠すことができません。それはログオンをスラッシュにリダイレクトし、私はここにログインすることもできます。

117
00:07:41,540 --> 00:07:42,670
&nbsp;

118
00:07:42,710 --> 00:07:49,920
&nbsp;

119
00:07:49,920 --> 00:07:58,370
&nbsp;

120
00:07:58,370 --> 00:08:00,620
だから、私はRustiを使って、正しいパスワードを使ってパスワードを入力します。サインアップしたり、ログインして、そのような秘密に戻ってきます。私は滞在しているので、ホームページに行き、秘密を隠すことができます。ログインしました。

121
00:08:00,620 --> 00:08:06,180
ですから、これがすべてのヒンジの主要概念であるという仕組みは、セッションと呼ばれるものです。

122
00:08:07,030 --> 00:08:09,680
どのセッションがあるのか​​を簡単にまとめておきます。

123
00:08:09,830 --> 00:08:16,360
基本的にはGTPはステートレスなプロトコルであると言われています。つまり、リクエストを送信するとそのリクエストは1回限りで、自分の履歴や前回のリクエストに関する情報は含まれません。

124
00:08:16,370 --> 00:08:21,920
&nbsp;

125
00:08:21,920 --> 00:08:22,660
&nbsp;

126
00:08:22,730 --> 00:08:24,020
彼らは一緒にリンクされていません。

127
00:08:24,050 --> 00:08:29,420
リクエストには1回限りのトランザクションの状態がありません。これにより、ログインしたままにしておきたいので、ユーザーをオフに実装することは本当に難しくなります。

128
00:08:29,420 --> 00:08:32,690
&nbsp;

129
00:08:32,930 --> 00:08:38,680
私はサーバーにRustie 4または5

130
00:08:38,690 --> 00:08:41,280
6がまだログインしていることを知りたいと思います。私たちがやる方法は、セッションとどのセッションを行うかということです。

131
00:08:41,360 --> 00:08:44,750
それらはHTPをステートレスにする方法に過ぎません。

132
00:08:44,750 --> 00:08:49,880
&nbsp;

133
00:08:49,880 --> 00:08:55,300
&nbsp;

134
00:08:55,550 --> 00:09:00,480
状態を提供する方法があるので、誰かがログインしているときにこのアプリケーションで行うすべてのリクエストに、そのリクエストに保存されているそのユーザーに関する情報がサーバーに送信され、実際にはユーザー名全体のユーザーパスワードではありません。

135
00:09:00,620 --> 00:09:05,320
しかし、それは少しの情報であり、コード化されており、基本的に秘密にされています。

136
00:09:05,450 --> 00:09:10,760
そしてそれは私のサーバーに到着し、パスポートはそれを見て、それが基本的にコードを解読するか、暗号化されていないことを理解し、誰かがログインしているかどうかを知るためにその情報を使用します。

137
00:09:10,760 --> 00:09:16,870
&nbsp;

138
00:09:16,880 --> 00:09:18,250
&nbsp;

139
00:09:18,470 --> 00:09:21,350
実装を追加すると、これはより意味をなさないでしょう。

140
00:09:21,350 --> 00:09:26,460
しかし、キーコンセプトは、セッションではHTPリクエストに状態を持たせることができるということです。

141
00:09:26,620 --> 00:09:27,730
だから私はデータを送ることができます。

142
00:09:27,770 --> 00:09:33,670
私はホームページに戻ることができます。それはまだ私がRustie 4 5

143
00:09:33,670 --> 00:09:36,260
6としてログインしていることを知っています。問題なく秘密に戻ることができます。

144
00:09:36,590 --> 00:09:41,410
それは、私がリクエストをするたびに、私がログインしているRustieの4人の5人の6人の情報を送信しているからです。

145
00:09:41,680 --> 00:09:44,210
&nbsp;

146
00:09:44,210 --> 00:09:48,620
そして、すぐに私がログアウトすると、その情報がなくなります。

147
00:09:49,120 --> 00:09:55,120
だから今私が秘密を隠すために行くとき、セッションにユーザーがいなければ、その人がそのような秘密に行くことを許さないという論理を持っています。

148
00:09:55,280 --> 00:09:57,540
&nbsp;

149
00:09:57,620 --> 00:09:59,370
ログオンをスラッシュにリダイレクトします。

150
00:09:59,670 --> 00:09:59,940
OK。

151
00:09:59,960 --> 00:10:04,400
&nbsp;

152
00:10:04,390 --> 00:10:09,440
だから、私たちが実際にこの簡単なアプリケーションを作成し、セッションを実装して私たちのセッションに助けを求めるときに、次のビデオでもっと詳しく説明します。

153
00:10:09,430 --> 00:10:14,220
Expressセッションと呼ばれるパッケージを使用して、次のビデオでも見ていきます。

154
00:10:14,750 --> 00:10:16,870
それでは、今すぐ紹介したいのはこれだけです。

155
00:10:16,880 --> 00:10:23,890
そこでPassport

156
00:10:23,890 --> 00:10:29,510
Jを地元のスキームとして使用し、Passportのローカルマングースモジュールやパッケージを使用して、ユーザー認証をかなり迅速かつ比較的簡単に実装するのに役立ちます。次のビデオにシンプルなアプリ。

157
00:10:30,130 --> 00:10:32,970
&nbsp;

158
00:10:33,080 --> 00:10:38,000
そして、この作業が完了したら、キャンプに戻ってユーザー認証を実装します。

159
00:10:39,050 --> 00:10:40,100
さて、私は次のビデオで見ていきます
