1
00:00:00,330 --> 00:00:06,050
Bem-vindo novamente neste você sabe que estamos nos concentrando na autenticação do usuário, onde você começa de forma abreviada.

2
00:00:06,120 --> 00:00:10,890
Na minha experiência autores, algo que os alunos estão realmente entusiasmados por aprender porque sentem

3
00:00:10,890 --> 00:00:14,710
que torna seus aplicativos legítimos e os faz sentir reais e utilizáveis.

4
00:00:14,760 --> 00:00:18,210
Se você pode se inscrever você pode fazer login e você pode sair.

5
00:00:18,690 --> 00:00:21,030
Então, isso torna uma coisa divertida e emocionante para ensinar.

6
00:00:21,270 --> 00:00:26,580
Mas a verdade é que também é uma coisa muito difícil de ensinar porque a autenticação é bastante complicada.

7
00:00:27,180 --> 00:00:31,130
Há muitas peças em movimento que precisam se encaixar no caminho certo para fazê-lo funcionar.

8
00:00:31,140 --> 00:00:32,490
Muitos grandes conceitos.

9
00:00:32,670 --> 00:00:34,850
E, honestamente, é um monte de código para fazê-lo funcionar.

10
00:00:35,130 --> 00:00:40,170
Felizmente, para nós, existem muitas ferramentas excelentes que nos ajudam a implementar a autenticação de forma

11
00:00:40,440 --> 00:00:41,530
rápida e segura.

12
00:00:41,550 --> 00:00:45,060
Agora, explique o que quero dizer com segurança mais tarde neste vídeo.

13
00:00:45,060 --> 00:00:49,860
Antes de mergulhar na explicação das ferramentas e do fluxo de trabalho de autenticação, quero passar algum tempo a

14
00:00:49,860 --> 00:00:53,540
lhe dar uma visão do meu processo de pensamento por trás do ensino da arte.

15
00:00:53,640 --> 00:00:57,990
É um desses tópicos que passei muito tempo ensinando-o, mas também ensinando-o de

16
00:00:57,990 --> 00:00:59,120
várias formas diferentes.

17
00:00:59,520 --> 00:01:02,960
Quando você está ensinando autenticação de usuário, há uma escolha que você precisa fazer.

18
00:01:03,210 --> 00:01:09,090
E para mim, essa escolha iria ensinar autenticação a partir do zero, não usando nenhuma ferramenta e certificando-se

19
00:01:09,090 --> 00:01:14,580
de que os alunos se concentrem nos prós e contras de cada conceito importante e pode levar

20
00:01:14,580 --> 00:01:15,660
cinco seis horas.

21
00:01:15,660 --> 00:01:17,790
Pode ser um monte de lições de muitos vídeos.

22
00:01:17,910 --> 00:01:23,010
Podemos acabar perdendo alguns alunos, mas teremos certeza de que todos entendem como

23
00:01:23,010 --> 00:01:23,960
a autenticação funciona.

24
00:01:24,120 --> 00:01:30,000
resume a esta questão é mais importante para os alunos ter uma compreensão profunda de como as coisas trabalhos.

25
00:01:30,120 --> 00:01:35,850
Ou usamos algumas das ferramentas existentes lá ferramentas que nos ajudam a adicionar a autenticação do usuário mais rápido

26
00:01:35,850 --> 00:01:38,650
e com menos linhas de código e tudo se

27
00:01:38,760 --> 00:01:43,650
Essa é a prioridade ou é uma prioridade que os alunos façam coisas rapidamente.

28
00:01:43,650 --> 00:01:49,350
Então, é sobre a compreensão conceitual e profundidade do conhecimento ou é sobre como fazer coisas.

29
00:01:49,350 --> 00:01:52,230
Obviamente, em um mundo ideal, queremos os dois.

30
00:01:52,230 --> 00:01:56,910
Queremos que todos entendam os prós e contras de tudo o que ensinamos e queremos que

31
00:01:56,910 --> 00:02:00,830
os alunos tenham um monte de conhecimento prático e possam fazer coisas rapidamente.

32
00:02:01,350 --> 00:02:06,930
compreensão profunda de cada conceito e como tudo funcionou e se encaixava antes de implementarmos qualquer coisa.

33
00:02:06,960 --> 00:02:12,060
No passado, eu tentei as duas abordagens para ensinar aonde eu comecei tentando dar aos

34
00:02:12,060 --> 00:02:12,900
alunos uma

35
00:02:13,290 --> 00:02:17,400
E então também fiz o contrário onde tentamos fazer algo primeiro e depois

36
00:02:17,400 --> 00:02:19,350
voltar e falar sobre como funciona.

37
00:02:19,530 --> 00:02:24,240
E eu gastei ainda mais tempo pensando em como queremos abordá-lo neste curso de

38
00:02:24,240 --> 00:02:28,260
vídeo. Gravei esta conversa muitas vezes eu retrabalho reescreveu todo o código.

39
00:02:28,260 --> 00:02:32,190
É aquele que eu quero ficar correto porque é realmente importante e que

40
00:02:32,190 --> 00:02:33,120
muitos estudantes esperam.

41
00:02:33,480 --> 00:02:38,850
Então, o que eu decidi fazer é ter duas unidades nesta primeira unidade na autenticação que você está

42
00:02:38,850 --> 00:02:39,660
assistindo no momento.

43
00:02:39,660 --> 00:02:43,040
Vou começar com uma visão geral muito rápida.

44
00:02:43,260 --> 00:02:46,740
Nada em profundidade, mas apenas uma rápida visão geral de como funciona a autenticação.

45
00:02:46,860 --> 00:02:51,450
E então, vamos usar essas ferramentas sobre as quais falei, tornando nossas vidas mais fáceis e

46
00:02:51,450 --> 00:02:52,300
reduzindo o código.

47
00:02:52,320 --> 00:02:53,730
Nós vamos usá-los imediatamente.

48
00:02:53,970 --> 00:02:59,400
E o foco é apenas fazer algo que tenha uma ocasião e, em seguida, uma das unidades opcionais.

49
00:02:59,460 --> 00:03:05,610
No final deste curso, será um mergulho verdadeiramente profundo na autenticação, onde realmente implementaremos nossa autenticação de

50
00:03:05,610 --> 00:03:09,900
usuários do zero, onde não usaremos nenhuma das ferramentas e vou mostrar-lhe

51
00:03:09,900 --> 00:03:15,390
agora o objetivo é ter o melhor dos dois mundos começando apenas fazendo algo.

52
00:03:15,750 --> 00:03:20,460
E não vou brincadeira sobre todos os conceitos, mas não vou gastar você sabe uma hora mais falar

53
00:03:20,520 --> 00:03:21,970
sobre como as coisas funcionam.

54
00:03:22,170 --> 00:03:27,030
Tudo bem, então, agora que conseguimos isso fora do caminho dessa grande discussão ideológica aqui, eu

55
00:03:27,030 --> 00:03:31,350
quero agora introduzir as ferramentas que vamos usar para que possamos usar algo chamado passaporte.

56
00:03:31,500 --> 00:03:32,320
Sim.

57
00:03:32,610 --> 00:03:37,470
E não estamos apenas usando isso porque é algo que tornará a nossa vida mais fácil tornar nosso código

58
00:03:37,710 --> 00:03:39,430
mais curto tornar esta implementação mais rápida.

59
00:03:39,720 --> 00:03:42,620
Mas também é algo que é muito usado no mundo real.

60
00:03:42,750 --> 00:03:47,410
Muitas e muitas aplicações usam o passaporte J. S. para implementar sua autenticação.

61
00:03:47,700 --> 00:03:49,320
Então, deixe-me mostrar-lhe a página inicial aqui.

62
00:03:49,560 --> 00:03:55,230
Este é Passport Chaiya gaguejou e ver o pequeno tagline diz que a autenticação simples e discreta

63
00:03:55,230 --> 00:04:01,350
para nenhum j O passaporte dos EUA é o middleware de autenticação para o nó extremamente flexível e o

64
00:04:01,350 --> 00:04:05,200
passaporte modular pode ser discreto em qualquer aplicativo web baseado em express.

65
00:04:05,280 --> 00:04:10,950
Um conjunto abrangente de estratégias suporta autenticação usando um nome de usuário e senha Facebook Twitter

66
00:04:11,070 --> 00:04:12,210
e muito mais.

67
00:04:12,210 --> 00:04:16,280
E então, você pode ver aqui, existem mais de 300 estratégias diferentes.

68
00:04:16,440 --> 00:04:21,510
Portanto, a estratégia é referenciada a diferentes tipos de autenticação de maneiras diferentes de autenticar pessoas, seja por meio

69
00:04:21,930 --> 00:04:27,240
de ter o usuário digitar um email e uma senha de autenticação tradicional ou se é através de um serviço

70
00:04:27,240 --> 00:04:32,520
como o Facebook ou o Twitter que você provavelmente já viu antes em um site ou um aplicativo onde ele

71
00:04:32,880 --> 00:04:36,300
pede que você faça login no Google ou no Twitter ou no Facebook.

72
00:04:36,390 --> 00:04:41,690
podemos pesquisá-los por isso, há coisas como o Fitbit você pode fazer login através do Fitbit.

73
00:04:41,690 --> 00:04:45,220
E há toneladas mais que podemos realmente ver todos eles e

74
00:04:45,440 --> 00:04:49,450
Nós temos Spotify Reddit tumblr Google plus.

75
00:04:49,700 --> 00:04:53,630
Mas, de longe, o mais popular será Facebook Twitter e Google.

76
00:04:53,620 --> 00:04:58,220
E então também o que é conhecido como autenticação local, que é o que vamos começar aqui, que é

77
00:04:58,490 --> 00:05:00,620
apenas um nome de usuário ou e-mail e senha.

78
00:05:00,620 --> 00:05:01,170
ESTÁ BEM.

79
00:05:01,370 --> 00:05:03,900
Então, essa é a ferramenta base que vamos usar o passaporte.

80
00:05:03,940 --> 00:05:07,660
Sim, será uma grande ajuda na nossa implementação do usuário.

81
00:05:08,060 --> 00:05:12,960
Mas também vamos usar outro pacote chamado Passport local, que eu tenho aqui.

82
00:05:13,190 --> 00:05:17,280
E este é um desses esquemas ou estratégias de autenticação.

83
00:05:17,360 --> 00:05:25,160
Então, há um passaporte Facebook um passaporte Twitter passaporte Google e passaporte local e mais 300 passaportes diferentes passaporte local

84
00:05:25,160 --> 00:05:30,700
é para nome de usuário e senha que é o que faremos para começar.

85
00:05:30,890 --> 00:05:36,610
Mas o que é realmente bom no passaporte é que, mais adiante neste curso, podemos ir e adicionar Facebook ou

86
00:05:36,800 --> 00:05:42,290
Twitter e podemos manter o local também e podemos ter três 5 maneiras diferentes de fazer login em nosso aplicativo.

87
00:05:42,320 --> 00:05:47,420
Normalmente, você quer mantê-lo bastante limitado, mas podemos ter todos os que desejamos usando Passaporte e para

88
00:05:47,420 --> 00:05:48,500
nomear o passaporte.

89
00:05:48,530 --> 00:05:52,490
Trata-se de fornecer esse ponto de entrada em todos os tipos de destinos.

90
00:05:52,870 --> 00:05:58,240
OK e há mais um pacote que vamos usar, que é chamado de mangusto local Passport.

91
00:05:58,520 --> 00:06:04,460
Então eu tenho o hub aberto para isso e o passaporte local Mongoose é outro pacote que apenas

92
00:06:04,460 --> 00:06:09,660
nos ajudará a implementar autenticação com passaporte e é especialmente feito para trabalhar com mangustão.

93
00:06:09,830 --> 00:06:11,450
Então não precisamos usá-lo.

94
00:06:11,540 --> 00:06:16,310
Nós poderíamos sair com apenas usar Passport local o passaporte local Mongoose vai nos ajudar a

95
00:06:16,310 --> 00:06:19,430
torná-lo ainda mais rápido e torná-lo mais simples para nós.

96
00:06:19,520 --> 00:06:24,620
seção off off off scratch estaremos criando arte a partir do zero sem nenhuma dessas ferramentas.

97
00:06:24,650 --> 00:06:25,760
E então, claro, na

98
00:06:25,980 --> 00:06:26,470
ESTÁ BEM.

99
00:06:26,570 --> 00:06:28,290
Então, essas são as três principais ferramentas.

100
00:06:28,340 --> 00:06:32,810
Agora vou lhe dar uma demonstração rápida do que faremos inicialmente, o que lhe avisarei

101
00:06:32,810 --> 00:06:34,420
que não é muito emocionante visualmente.

102
00:06:34,520 --> 00:06:36,020
Não o estilo em absoluto.

103
00:06:36,020 --> 00:06:39,840
Mas vamos adicionar você Seraph para o acampamento e nós estaremos marcando isso.

104
00:06:40,000 --> 00:06:42,940
Mas, por enquanto, esta é uma implementação barebones que eu quero mostrar.

105
00:06:43,220 --> 00:06:45,870
Então começamos nesta página inicial e temos três botões.

106
00:06:46,120 --> 00:06:53,420
Faça login e faça o login e há um segredo de barra secreta da página que você só pode ver se você

107
00:06:53,420 --> 00:06:53,930
estiver logado.

108
00:06:53,960 --> 00:07:00,770
Então, se eu tentar e ir lá agora não estou logado e isso me leva de volta para cortar um log e me

109
00:07:00,760 --> 00:07:06,510
mostra o formulário de log para que eu me registrei e vou mostrar que podemos ir para a página secreta.

110
00:07:06,830 --> 00:07:15,680
Então, o nome do usuário eu vou enferrujar quatro ou cinco seis e a senha será apenas uma senha e depois vou me inscrever.

111
00:07:18,350 --> 00:07:21,030
E me leva a cortar segredo que agora posso visitar.

112
00:07:21,290 --> 00:07:26,090
uma foto terrivelmente embaraçosa da minha cela da minha sétima ou oitava série quando recebi meu primeiro laptop.

113
00:07:26,380 --> 00:07:28,040
E na página secreta eu tenho

114
00:07:28,040 --> 00:07:28,900
Apenas terrível.

115
00:07:29,090 --> 00:07:33,180
Então, esse é segredo secreto por uma razão, obviamente.

116
00:07:33,200 --> 00:07:41,530
E agora, se eu sair para sair, eu não posso mais procurar secretar que redireciona para acessar o logon e também

117
00:07:41,540 --> 00:07:42,670
posso entrar aqui.

118
00:07:42,710 --> 00:07:49,920
Então, vou usar Rusti quatro cinco seis com a senha correta, que é apenas senha e me inscrevo ou

119
00:07:49,920 --> 00:07:58,370
logo e isso me leva de volta a esse segredo e eu posso ir para a página inicial e voltar a cortar

120
00:07:58,370 --> 00:08:00,620
segredo porque eu vou ficar logado.

121
00:08:00,620 --> 00:08:06,180
Assim, a maneira como isso funciona o conceito-chave de que tudo depende de algo chamado sessões.

122
00:08:07,030 --> 00:08:09,680
Vou dar um breve resumo das sessões.

123
00:08:09,830 --> 00:08:16,360
Basicamente, o GTP é suposto ser um protocolo sem estado, o que significa que, quando você envia pedidos, esses

124
00:08:16,370 --> 00:08:21,920
pedidos são coisas únicas e não contêm informações sobre seu histórico ou os pedidos anteriores que

125
00:08:21,920 --> 00:08:22,660
você fez.

126
00:08:22,730 --> 00:08:24,020
Eles não estão ligados entre si.

127
00:08:24,050 --> 00:08:29,420
Um pedido não tem um estado é apenas uma transação única, o que tornaria muito difícil

128
00:08:29,420 --> 00:08:32,690
implementar o usuário porque eu quero poder estar logado.

129
00:08:32,930 --> 00:08:38,680
Eu quero que o servidor saiba que Rustie 4 ou 5 6 ainda está logado e a maneira como fazemos

130
00:08:38,690 --> 00:08:41,280
isso é usando sessões e quais sessões serão realizadas.

131
00:08:41,360 --> 00:08:44,750
Eles são apenas uma maneira de tornar HTP não apátrida.

132
00:08:44,750 --> 00:08:49,880
Há uma maneira de fornecer o estado, então, quando todas as solicitações que eu fizer neste aplicativo quando eu estiver

133
00:08:49,880 --> 00:08:55,300
logado quando alguém efetuou o login, há um pouco de informações sobre esse usuário que está salvo nesse pedido que é

134
00:08:55,550 --> 00:09:00,480
enviado para o servidor e é na verdade, não é a senha do usuário de todo o nome de usuário.

135
00:09:00,620 --> 00:09:05,320
Mas é um pouco de informação e está codificado e é basicamente feito para ser um segredo.

136
00:09:05,450 --> 00:09:10,760
o código ou não criptografado e ele usará essa informação para saber se alguém está logado ou não.

137
00:09:10,760 --> 00:09:16,870
E então ele chega ao meu servidor e, em seguida, o passaporte verá isso e isso será traduzido em algo

138
00:09:16,880 --> 00:09:18,250
que entende basicamente crack

139
00:09:18,470 --> 00:09:21,350
Então, isso fará mais sentido uma vez que adicionamos a implementação.

140
00:09:21,350 --> 00:09:26,460
Mas o conceito-chave é que as Sessões nos permitem ter estado em nossos pedidos HTP.

141
00:09:26,620 --> 00:09:27,730
Então eu posso enviar dados.

142
00:09:27,770 --> 00:09:33,670
Eu posso voltar para a página inicial, ele ainda sabe que eu estou logado como Rustie 4 5

143
00:09:33,670 --> 00:09:36,260
6 e posso voltar ao segredo sem problemas.

144
00:09:36,590 --> 00:09:41,410
pedido, eu envio uma pequena e pequena informação que diz que é Rustie quatro cinco seis que está logado.

145
00:09:41,680 --> 00:09:44,210
E isso é porque toda vez que eu faz um

146
00:09:44,210 --> 00:09:48,620
E então, assim que eu terminar, essa informação não foi publicada.

147
00:09:49,120 --> 00:09:55,120
Então, agora, quando eu vou cortar segredo, tenho alguma lógica que diz se não há usuário na sessão, então

148
00:09:55,280 --> 00:09:57,540
não deixe essa pessoa entrar nesse segredo.

149
00:09:57,620 --> 00:09:59,370
Redirecione-os para reduzir o logon.

150
00:09:59,670 --> 00:09:59,940
ESTÁ BEM.

151
00:09:59,960 --> 00:10:04,400
Então, vamos analisar tudo isso com mais detalhes no próximo vídeo, quando

152
00:10:04,390 --> 00:10:09,440
criamos essa aplicação simples e implementamos sessões para obter ajuda com nossas sessões.

153
00:10:09,430 --> 00:10:14,220
Vamos usar um pacote chamado Express session que verá no próximo vídeo também.

154
00:10:14,750 --> 00:10:16,870
OK, então é tudo o que quero apresentar por enquanto.

155
00:10:16,880 --> 00:10:23,890
Então, vamos usar o passaporte J como o esquema local, juntamente com o módulo ou pacote de mangusto local do passaporte que

156
00:10:23,890 --> 00:10:29,510
nos ajudará a implementar a autenticação do usuário com bastante rapidez e relativamente sem dor e nós vamos

157
00:10:30,130 --> 00:10:32,970
fazer isso no próximo vídeo em um aplicativo simples.

158
00:10:33,080 --> 00:10:38,000
E então, uma vez que temos esse trabalho, então vamos voltar para acampar e implementar a autenticação de usuários.

159
00:10:39,050 --> 00:10:40,100
Tudo bem, vou ver no próximo vídeo
