AUTHENTICATION
OVERVIEW
AGNI G. B. CAMPOS
http://agni-tech.blogspot.com
(21) 96624-5486
AGENDA
1  / Introdução
2 / Exemplo
3  / Auth em alto nível
4 / Token Auth
5  / React Token Auth parte 1
6  / React Token Auth parte 2
7 / Source Links
INTRODUÇÃO
Quando falamos em segurança, há alguns termos e processos básicos que
precisam ser compreendidos antes que possamos escrever do código.
Autenticação: O processo ou ação de provar ou mostrar algo como
verdadeiro, genuíno ou válido.
Token: Um pedaço de dados criado pelo servidor que contém informações
para identificar um usuário em particular e validade de token.
Autorização: O processo de dar permissão a alguém para fazer ou ter algo.
Privilégio: Um direito especial, vantagem ou permissão concedida ou
disponível apenas para uma pessoa ou grupo de pessoas em particular.
EXEMPLO
Vamos passar por um exemplo de
segurança física para entender a
segurança virtual.
EXEMPLOVocê vai a um hotel e caminha até a recepção, diz à recepcionista que você tem uma reserva  e a
recepcionista pedirá alguma  identificação e verificará o nome que foi dado para a reserva.
Isso é Autenticação, você está provando que você é quem você diz que é.
O equivalente virtual disso seria fazer login com um nome de usuário ou senha.
Depois de ter sido autenticado, a recepcionista emitirá um cartão-chave para acessar diferentes
seções do hotel.
O equivalente virtual disso seria um token, um item exclusivo que contém informações sobre o
titular.
Agora pegue o elevador até o seu andar e caminhe até o seu quarto e para entrar no quarto, basta
colocar seu cartão / chave na fechadura e entrar na sala.
Isso é novamente Autenticação, mas a chave tem suas informações e a porta a autentica
automaticamente.
EXEMPLO
A chave também permite que você acesse alguns lugares, mas não outros, por exemplo, posso
entrar na piscina, mas não em outro quarto de hóspedes.
Isso é Autorização, você tem o nível de privilégio de um convidado para poder acessar
seu quarto e a piscina, mas um gerente pode acessar seu quarto, a piscina e outros quartos.
O equivalente virtual disso seria um nível de privilégio de usuário ou administrador em um
computador;
Depois de ter terminado a sua estadia no hotel, simplesmente jogue fora a chave ou transforme-a
na recepção e o equivalente virtual disso seria sair de um site.
AUTH EM ALTO NÍVELAutenticação é o processo de permitir que um usuário do seu aplicativo crie uma conta,
faça login, tenha permissões de usuário específicas, obtenha dados que só os interessem
como usuário, etc. A autenticação inclui uma preocupação de segurança (não queremos
que as pessoas sejam capaz de ver ou manipular os dados uns dos outros), bem como
uma preocupação de usabilidade (um aplicativo que não permite que eu tenha minha
própria lista de tarefas é bastante inútil, a menos que eu seja o único usuário do
aplicativo).
Atualmente, os três principais tipos de autenticação são:
 
1) Autenticação baseada em sessão / cookie
2) Autenticação baseada em token
3) OAuth
TOKEN AUTH
Um usuário preenche um formulário de login contendo, normalmente, um nome de
usuário e senha, que é então enviado ao servidor para verificação.
O servidor procura um usuário com o nome de usuário fornecido no banco de dados e
verifica se a senha está correta, caso contrário, ele retornará um erro de autenticação
informando à pessoa que ele colocou o nome de usuário e / ou a senha incorretos.
Caso contrário, se tudo correr bem, o servidor cria um token, que é apenas uma longa
seqüência de texto aparentemente aleatória que é enviada de volta ao usuário.
Esse token habilita ao usuário um certo nível de privilégio para se movimentar pelo
aplicativo, acessando certos dados, fazendo alterações nos dados, acessando
determinadas partes do site, etc.
Muitas vezes, salvamos esse token em sessionStorage ou localStorage para facilitar o
acesso pelo aplicativo cliente.
TOKEN AUTH
             Sempre que o aplicativo cliente faz uma solicitação HTTP ao servidor, ele envia
esse token junto com ele. E com todos os recursos protegidos no servidor (qualquer
ponto de extremidade da API que requeira direitos especiais de acesso, como o de um
usuário conectado), o servidor verifica o token recebido do cliente para garantir que
esse usuário tenha autorização para acessar esse conteúdo  e em caso de afirmativo,
retorna o conteúdo solicitado, caso contrário, ele envia algum tipo de erro de
autorização indicando que o usuário não está autorizado a ver essas informações.
             Para desconectar um usuário, basta remover o token de onde você o salvou
(armazenamento local ou de sessão) e ele deixa de ser enviado a cada solicitação, o
que significa que o servidor para de fornecer ao usuário acesso aos dados protegidos
e isso é semelhante a tirar o cartão de acesso do funcionário de um prédio até que ele
venha da próxima vez e provar que está de novo lá.
REACT TOKEN AUTH
PARTE 1
https://coursework.vschool.io/react-token-authentication-pt-1/ 
PARTE 2
https://coursework.vschool.io/react-token-authentication-pt-2/
SOURCE LINKS
https://coursework.vschool.io/auth-basics-high-level/
https://coursework.vschool.io/authentication-basics/
https://coursework.vschool.io/react-token-authentication-pt-1/
https://coursework.vschool.io/react-token-authentication-pt-2/
OBRIGADO PELA
ATENÇÃO!
AGNI G. B. CAMPOS
http://agni-tech.blogspot.com

Auth

  • 1.
    AUTHENTICATION OVERVIEW AGNI G. B.CAMPOS http://agni-tech.blogspot.com (21) 96624-5486
  • 2.
    AGENDA 1  / Introdução 2 /Exemplo 3  / Auth em alto nível 4 / Token Auth 5  / React Token Auth parte 1 6  / React Token Auth parte 2 7 / Source Links
  • 3.
    INTRODUÇÃO Quando falamos emsegurança, há alguns termos e processos básicos que precisam ser compreendidos antes que possamos escrever do código. Autenticação: O processo ou ação de provar ou mostrar algo como verdadeiro, genuíno ou válido. Token: Um pedaço de dados criado pelo servidor que contém informações para identificar um usuário em particular e validade de token. Autorização: O processo de dar permissão a alguém para fazer ou ter algo. Privilégio: Um direito especial, vantagem ou permissão concedida ou disponível apenas para uma pessoa ou grupo de pessoas em particular.
  • 4.
    EXEMPLO Vamos passar porum exemplo de segurança física para entender a segurança virtual.
  • 5.
    EXEMPLOVocê vai aum hotel e caminha até a recepção, diz à recepcionista que você tem uma reserva  e a recepcionista pedirá alguma  identificação e verificará o nome que foi dado para a reserva. Isso é Autenticação, você está provando que você é quem você diz que é. O equivalente virtual disso seria fazer login com um nome de usuário ou senha. Depois de ter sido autenticado, a recepcionista emitirá um cartão-chave para acessar diferentes seções do hotel. O equivalente virtual disso seria um token, um item exclusivo que contém informações sobre o titular. Agora pegue o elevador até o seu andar e caminhe até o seu quarto e para entrar no quarto, basta colocar seu cartão / chave na fechadura e entrar na sala. Isso é novamente Autenticação, mas a chave tem suas informações e a porta a autentica automaticamente.
  • 6.
    EXEMPLO A chave tambémpermite que você acesse alguns lugares, mas não outros, por exemplo, posso entrar na piscina, mas não em outro quarto de hóspedes. Isso é Autorização, você tem o nível de privilégio de um convidado para poder acessar seu quarto e a piscina, mas um gerente pode acessar seu quarto, a piscina e outros quartos. O equivalente virtual disso seria um nível de privilégio de usuário ou administrador em um computador; Depois de ter terminado a sua estadia no hotel, simplesmente jogue fora a chave ou transforme-a na recepção e o equivalente virtual disso seria sair de um site.
  • 7.
    AUTH EM ALTONÍVELAutenticação é o processo de permitir que um usuário do seu aplicativo crie uma conta, faça login, tenha permissões de usuário específicas, obtenha dados que só os interessem como usuário, etc. A autenticação inclui uma preocupação de segurança (não queremos que as pessoas sejam capaz de ver ou manipular os dados uns dos outros), bem como uma preocupação de usabilidade (um aplicativo que não permite que eu tenha minha própria lista de tarefas é bastante inútil, a menos que eu seja o único usuário do aplicativo). Atualmente, os três principais tipos de autenticação são:   1) Autenticação baseada em sessão / cookie 2) Autenticação baseada em token 3) OAuth
  • 8.
    TOKEN AUTH Um usuáriopreenche um formulário de login contendo, normalmente, um nome de usuário e senha, que é então enviado ao servidor para verificação. O servidor procura um usuário com o nome de usuário fornecido no banco de dados e verifica se a senha está correta, caso contrário, ele retornará um erro de autenticação informando à pessoa que ele colocou o nome de usuário e / ou a senha incorretos. Caso contrário, se tudo correr bem, o servidor cria um token, que é apenas uma longa seqüência de texto aparentemente aleatória que é enviada de volta ao usuário. Esse token habilita ao usuário um certo nível de privilégio para se movimentar pelo aplicativo, acessando certos dados, fazendo alterações nos dados, acessando determinadas partes do site, etc. Muitas vezes, salvamos esse token em sessionStorage ou localStorage para facilitar o acesso pelo aplicativo cliente.
  • 9.
    TOKEN AUTH             Sempre que o aplicativo cliente faz uma solicitação HTTP ao servidor, ele envia esse token junto com ele. E com todos os recursos protegidos no servidor (qualquer ponto de extremidade da API que requeira direitos especiais de acesso, como o de um usuário conectado), o servidor verifica o token recebido do cliente para garantir que esse usuário tenha autorização para acessar esse conteúdo  e em caso de afirmativo, retorna o conteúdo solicitado, caso contrário, ele envia algum tipo de erro de autorização indicando que o usuário não está autorizado a ver essas informações.              Para desconectar um usuário, basta remover o token de onde você o salvou (armazenamento local ou de sessão) e ele deixa de ser enviado a cada solicitação, o que significa que o servidor para de fornecer ao usuário acesso aos dados protegidos e isso é semelhante a tirar o cartão de acesso do funcionário de um prédio até que ele venha da próxima vez e provar que está de novo lá.
  • 10.
    REACT TOKEN AUTH PARTE1 https://coursework.vschool.io/react-token-authentication-pt-1/  PARTE 2 https://coursework.vschool.io/react-token-authentication-pt-2/
  • 11.
  • 12.
    OBRIGADO PELA ATENÇÃO! AGNI G.B. CAMPOS http://agni-tech.blogspot.com