SlideShare uma empresa Scribd logo
1 de 22
Baixar para ler offline
Autenticação baseada em token
com JWT
Por: Valmir Barbosa dos Santos
Confidential & Proprietary
O que é o GDG?
Google Developer Group é um grupo de
profissionais com prometidos com a
função de disseminar o conhecimento
tecnológico providas do Google, treinar e
capacitar pessoas, através de reuniões,
cursos de programação, fóruns e
realização de eventos.
Objetivo:
O Google Developers Group Foz do
Iguaçu, tem como objetivo juntar os
usuários de tecnologias da Google na
região e gerar uma troca de
conhecimento através de encontros,
reuniões e eventos. Além de servir como
ponte entre empreendedores e
desenvolvedores.
GDG Foz do iguaçu
Como participar?
Você pode palestrar, ministrar cursos, Hangouts, enviar tutoriais
ajudar na organização de eventos ou redigir e sugerir matérias
para nossas redes sociais.
Todo conhecimento compartilhado é bem vindo.
O que é JWT?
Referência: https://jwt.io/
Como funciona uma
autenticação baseada em
token?
Claims
sub Subject - A entidade a quem este token pertence (geralmente o Id do usuário)
iat Issued At - Quando o token foi gerado. (unix timestamp)
exp Expiry - Quando o token expira. (unix timestamp)
nbf Not Before - Quando o token pode ser usado (unix timestamp)
Claims
iss Issuer - Informa da onde o token está vindo.
jti JWT Id - Um identificador exclusivo para o token
aud Audience - O público-alvo para o token
Vantagens de se usar JWT?
- Stateless (não tem session)
- Blacklist
- Possibilita usar um token para validar um link de um e-mail
por exemplo.
Vantagens de se usar JWT?
- Stateless (não tem session)
- Blacklist
- Possibilita usar um token para validar um link de um e-mail
por exemplo.
Laravel
Criando um API com Laravel
com Auth JWT
Angular Js
Fazendo login na API com
Angular JS
Consumindo API com Angular
JS
Criando nosso módulo angular
JWT
Um pouco mais sobre Http
Interceptor, automatizando
mensagens de notificação
toast
Refresh tokens
Dicas de como criar um
repositório privado com Bower e
GIT
Referências e dicas de estudo:
https://jwt.io/
https://github.com/tymondesigns/jwt-auth
https://www.youtube.com/watch?v=4TamswHH5Ts
http://pt.slideshare.net/imasters/php-experience-2016-palestra-json-web-token-jwt
https://github.com/auth0/angular-jwt/blob/master/dist/angular-jwt.js
https://auth0.com/blog/2014/10/01/handling-jwts-on-angular-is-finally-easier/
https://github.com/sahat/satellizer
https://github.com/gdgfoz/angularjs-jwt
Código fonte:
Obrigado pela atenção
Valmir Barbosa dos Santos
valmir.php@gmail.com

Mais conteúdo relacionado

Semelhante a Autenticação baseada em token com jwt

Integrando-se à Blockchain da Ethereum
Integrando-se à Blockchain da EthereumIntegrando-se à Blockchain da Ethereum
Integrando-se à Blockchain da EthereumMario Guedes
 
Integrando-se à Blockchain da Ethereum
Integrando-se à Blockchain da EthereumIntegrando-se à Blockchain da Ethereum
Integrando-se à Blockchain da EthereumArrayOf.io
 
#TheDevConf 2018 - spring boot ionic oauth2
#TheDevConf 2018 - spring boot ionic oauth2#TheDevConf 2018 - spring boot ionic oauth2
#TheDevConf 2018 - spring boot ionic oauth2Luiz Avila
 
TDC2018SP | Trilha Java Enterprise - Protegendo sua API Spring Boot com OAuth2
TDC2018SP | Trilha Java Enterprise - Protegendo sua API Spring Boot com OAuth2TDC2018SP | Trilha Java Enterprise - Protegendo sua API Spring Boot com OAuth2
TDC2018SP | Trilha Java Enterprise - Protegendo sua API Spring Boot com OAuth2tdc-globalcode
 
Mineração de dados no Gmail e Facebook
Mineração de dados no Gmail e FacebookMineração de dados no Gmail e Facebook
Mineração de dados no Gmail e FacebookLuiz Arthur
 
TCC MBA Desenvolvimento de Aplicações Java - SOA 2013
TCC MBA Desenvolvimento de Aplicações Java - SOA 2013TCC MBA Desenvolvimento de Aplicações Java - SOA 2013
TCC MBA Desenvolvimento de Aplicações Java - SOA 2013Victor Maehira
 
Construindo Chatbots em Node.js
Construindo Chatbots em Node.jsConstruindo Chatbots em Node.js
Construindo Chatbots em Node.jsFelipe Pedroso
 
5º ck o java e o android no iot
5º ck o java e o android no iot5º ck o java e o android no iot
5º ck o java e o android no iotHeider Lopes
 
Codelab - Actions on Google
Codelab - Actions on GoogleCodelab - Actions on Google
Codelab - Actions on GoogleAlvaro Viebrantz
 
1 deep dive-blockchain-v3
1 deep dive-blockchain-v31 deep dive-blockchain-v3
1 deep dive-blockchain-v3Gabriela Izique
 
Palestra Introdução a Bots com Node.Js - MVP National Conference 2018 by Glau...
Palestra Introdução a Bots com Node.Js - MVP National Conference 2018 by Glau...Palestra Introdução a Bots com Node.Js - MVP National Conference 2018 by Glau...
Palestra Introdução a Bots com Node.Js - MVP National Conference 2018 by Glau...Glaucia Lemos
 
Authentication & Authoritation
Authentication & AuthoritationAuthentication & Authoritation
Authentication & Authoritationmelidevelopers
 
Autenticação e Autorização - MercadoLivre Developers Conference
Autenticação e Autorização - MercadoLivre Developers ConferenceAutenticação e Autorização - MercadoLivre Developers Conference
Autenticação e Autorização - MercadoLivre Developers ConferenceWesley Nascimento
 
Desenvolvimento web com python e django
Desenvolvimento web com python e djangoDesenvolvimento web com python e django
Desenvolvimento web com python e djangoIgor Sobreira
 
Jornada de Tecnologia da Informação
Jornada de Tecnologia da InformaçãoJornada de Tecnologia da Informação
Jornada de Tecnologia da Informaçãotoshikurauchi
 
Apresentação da JAVale para o NIAVI
Apresentação da JAVale para o NIAVIApresentação da JAVale para o NIAVI
Apresentação da JAVale para o NIAVIMarcondes Maçaneiro
 

Semelhante a Autenticação baseada em token com jwt (20)

Integrando-se à Blockchain da Ethereum
Integrando-se à Blockchain da EthereumIntegrando-se à Blockchain da Ethereum
Integrando-se à Blockchain da Ethereum
 
Integrando-se à Blockchain da Ethereum
Integrando-se à Blockchain da EthereumIntegrando-se à Blockchain da Ethereum
Integrando-se à Blockchain da Ethereum
 
#TheDevConf 2018 - spring boot ionic oauth2
#TheDevConf 2018 - spring boot ionic oauth2#TheDevConf 2018 - spring boot ionic oauth2
#TheDevConf 2018 - spring boot ionic oauth2
 
TDC2018SP | Trilha Java Enterprise - Protegendo sua API Spring Boot com OAuth2
TDC2018SP | Trilha Java Enterprise - Protegendo sua API Spring Boot com OAuth2TDC2018SP | Trilha Java Enterprise - Protegendo sua API Spring Boot com OAuth2
TDC2018SP | Trilha Java Enterprise - Protegendo sua API Spring Boot com OAuth2
 
Entity framework
Entity frameworkEntity framework
Entity framework
 
Mineração de dados no Gmail e Facebook
Mineração de dados no Gmail e FacebookMineração de dados no Gmail e Facebook
Mineração de dados no Gmail e Facebook
 
TCC MBA Desenvolvimento de Aplicações Java - SOA 2013
TCC MBA Desenvolvimento de Aplicações Java - SOA 2013TCC MBA Desenvolvimento de Aplicações Java - SOA 2013
TCC MBA Desenvolvimento de Aplicações Java - SOA 2013
 
Construindo Chatbots em Node.js
Construindo Chatbots em Node.jsConstruindo Chatbots em Node.js
Construindo Chatbots em Node.js
 
JWT - Json Web Token
JWT - Json Web TokenJWT - Json Web Token
JWT - Json Web Token
 
5º ck o java e o android no iot
5º ck o java e o android no iot5º ck o java e o android no iot
5º ck o java e o android no iot
 
Codelab - Actions on Google
Codelab - Actions on GoogleCodelab - Actions on Google
Codelab - Actions on Google
 
Vivendo de hacking
Vivendo de hackingVivendo de hacking
Vivendo de hacking
 
1 deep dive-blockchain-v3
1 deep dive-blockchain-v31 deep dive-blockchain-v3
1 deep dive-blockchain-v3
 
Palestra Introdução a Bots com Node.Js - MVP National Conference 2018 by Glau...
Palestra Introdução a Bots com Node.Js - MVP National Conference 2018 by Glau...Palestra Introdução a Bots com Node.Js - MVP National Conference 2018 by Glau...
Palestra Introdução a Bots com Node.Js - MVP National Conference 2018 by Glau...
 
Authentication & Authoritation
Authentication & AuthoritationAuthentication & Authoritation
Authentication & Authoritation
 
Autenticação e Autorização - MercadoLivre Developers Conference
Autenticação e Autorização - MercadoLivre Developers ConferenceAutenticação e Autorização - MercadoLivre Developers Conference
Autenticação e Autorização - MercadoLivre Developers Conference
 
Tecnologias iTEC
Tecnologias iTECTecnologias iTEC
Tecnologias iTEC
 
Desenvolvimento web com python e django
Desenvolvimento web com python e djangoDesenvolvimento web com python e django
Desenvolvimento web com python e django
 
Jornada de Tecnologia da Informação
Jornada de Tecnologia da InformaçãoJornada de Tecnologia da Informação
Jornada de Tecnologia da Informação
 
Apresentação da JAVale para o NIAVI
Apresentação da JAVale para o NIAVIApresentação da JAVale para o NIAVI
Apresentação da JAVale para o NIAVI
 

Mais de GDGFoz

Apresentação GDG Foz 2023
Apresentação GDG Foz  2023Apresentação GDG Foz  2023
Apresentação GDG Foz 2023GDGFoz
 
Desenvolvimento de um Comedouro para cães com Acionamento Automático e Remoto
Desenvolvimento de um Comedouro para cães com Acionamento Automático e RemotoDesenvolvimento de um Comedouro para cães com Acionamento Automático e Remoto
Desenvolvimento de um Comedouro para cães com Acionamento Automático e RemotoGDGFoz
 
Introdução do DEVSECOPS
Introdução do DEVSECOPSIntrodução do DEVSECOPS
Introdução do DEVSECOPSGDGFoz
 
Aquisição de dados IoT com Event Sourcing e Microservices
Aquisição de dados IoT com Event Sourcing e MicroservicesAquisição de dados IoT com Event Sourcing e Microservices
Aquisição de dados IoT com Event Sourcing e MicroservicesGDGFoz
 
Robótica Sucational
Robótica SucationalRobótica Sucational
Robótica SucationalGDGFoz
 
A nova era do desenvolvimento mobile
A nova era do desenvolvimento mobile A nova era do desenvolvimento mobile
A nova era do desenvolvimento mobile GDGFoz
 
Qualidade em Testes de Software
Qualidade em Testes de SoftwareQualidade em Testes de Software
Qualidade em Testes de SoftwareGDGFoz
 
WebAssembly além da Web - Casos de Uso em IoT
WebAssembly além da Web - Casos de Uso em IoTWebAssembly além da Web - Casos de Uso em IoT
WebAssembly além da Web - Casos de Uso em IoTGDGFoz
 
Dart e Flutter do Server ao Client Side
Dart e Flutter do Server ao Client SideDart e Flutter do Server ao Client Side
Dart e Flutter do Server ao Client SideGDGFoz
 
UX: O que é e como pode influenciar a vida do desenvolvedor?
UX: O que é e como pode influenciar a vida do desenvolvedor?UX: O que é e como pode influenciar a vida do desenvolvedor?
UX: O que é e como pode influenciar a vida do desenvolvedor?GDGFoz
 
Dicas de como entrar no mundo do DevSecOps
Dicas de como entrar no mundo do DevSecOpsDicas de como entrar no mundo do DevSecOps
Dicas de como entrar no mundo do DevSecOpsGDGFoz
 
Angular >= 2 - One Framework Mobile & Desktop
Angular >= 2 - One Framework Mobile & DesktopAngular >= 2 - One Framework Mobile & Desktop
Angular >= 2 - One Framework Mobile & DesktopGDGFoz
 
Automação Residencial Extrema com Opensource
Automação Residencial Extrema com OpensourceAutomação Residencial Extrema com Opensource
Automação Residencial Extrema com OpensourceGDGFoz
 
Brasil.IO COVID-19: Dados por Municípios. Quais os Desafios?
Brasil.IO COVID-19: Dados por Municípios. Quais os Desafios?Brasil.IO COVID-19: Dados por Municípios. Quais os Desafios?
Brasil.IO COVID-19: Dados por Municípios. Quais os Desafios?GDGFoz
 
Desmistificando a programação funcional
Desmistificando a programação funcionalDesmistificando a programação funcional
Desmistificando a programação funcionalGDGFoz
 
Microsserviços com Kotlin
Microsserviços com KotlinMicrosserviços com Kotlin
Microsserviços com KotlinGDGFoz
 
Autenticação de dois fatores
Autenticação de dois fatores Autenticação de dois fatores
Autenticação de dois fatores GDGFoz
 
Fique em casa seguro (ou tente)!
Fique em casa seguro (ou tente)!Fique em casa seguro (ou tente)!
Fique em casa seguro (ou tente)!GDGFoz
 
Hooks em React: o novo jeito de fazer componentes funcionais
Hooks em React: o novo jeito de fazer componentes funcionaisHooks em React: o novo jeito de fazer componentes funcionais
Hooks em React: o novo jeito de fazer componentes funcionaisGDGFoz
 
Angular, React ou Vue? Comparando os favoritos do JS reativo
Angular, React ou Vue? Comparando os favoritos do JS reativoAngular, React ou Vue? Comparando os favoritos do JS reativo
Angular, React ou Vue? Comparando os favoritos do JS reativoGDGFoz
 

Mais de GDGFoz (20)

Apresentação GDG Foz 2023
Apresentação GDG Foz  2023Apresentação GDG Foz  2023
Apresentação GDG Foz 2023
 
Desenvolvimento de um Comedouro para cães com Acionamento Automático e Remoto
Desenvolvimento de um Comedouro para cães com Acionamento Automático e RemotoDesenvolvimento de um Comedouro para cães com Acionamento Automático e Remoto
Desenvolvimento de um Comedouro para cães com Acionamento Automático e Remoto
 
Introdução do DEVSECOPS
Introdução do DEVSECOPSIntrodução do DEVSECOPS
Introdução do DEVSECOPS
 
Aquisição de dados IoT com Event Sourcing e Microservices
Aquisição de dados IoT com Event Sourcing e MicroservicesAquisição de dados IoT com Event Sourcing e Microservices
Aquisição de dados IoT com Event Sourcing e Microservices
 
Robótica Sucational
Robótica SucationalRobótica Sucational
Robótica Sucational
 
A nova era do desenvolvimento mobile
A nova era do desenvolvimento mobile A nova era do desenvolvimento mobile
A nova era do desenvolvimento mobile
 
Qualidade em Testes de Software
Qualidade em Testes de SoftwareQualidade em Testes de Software
Qualidade em Testes de Software
 
WebAssembly além da Web - Casos de Uso em IoT
WebAssembly além da Web - Casos de Uso em IoTWebAssembly além da Web - Casos de Uso em IoT
WebAssembly além da Web - Casos de Uso em IoT
 
Dart e Flutter do Server ao Client Side
Dart e Flutter do Server ao Client SideDart e Flutter do Server ao Client Side
Dart e Flutter do Server ao Client Side
 
UX: O que é e como pode influenciar a vida do desenvolvedor?
UX: O que é e como pode influenciar a vida do desenvolvedor?UX: O que é e como pode influenciar a vida do desenvolvedor?
UX: O que é e como pode influenciar a vida do desenvolvedor?
 
Dicas de como entrar no mundo do DevSecOps
Dicas de como entrar no mundo do DevSecOpsDicas de como entrar no mundo do DevSecOps
Dicas de como entrar no mundo do DevSecOps
 
Angular >= 2 - One Framework Mobile & Desktop
Angular >= 2 - One Framework Mobile & DesktopAngular >= 2 - One Framework Mobile & Desktop
Angular >= 2 - One Framework Mobile & Desktop
 
Automação Residencial Extrema com Opensource
Automação Residencial Extrema com OpensourceAutomação Residencial Extrema com Opensource
Automação Residencial Extrema com Opensource
 
Brasil.IO COVID-19: Dados por Municípios. Quais os Desafios?
Brasil.IO COVID-19: Dados por Municípios. Quais os Desafios?Brasil.IO COVID-19: Dados por Municípios. Quais os Desafios?
Brasil.IO COVID-19: Dados por Municípios. Quais os Desafios?
 
Desmistificando a programação funcional
Desmistificando a programação funcionalDesmistificando a programação funcional
Desmistificando a programação funcional
 
Microsserviços com Kotlin
Microsserviços com KotlinMicrosserviços com Kotlin
Microsserviços com Kotlin
 
Autenticação de dois fatores
Autenticação de dois fatores Autenticação de dois fatores
Autenticação de dois fatores
 
Fique em casa seguro (ou tente)!
Fique em casa seguro (ou tente)!Fique em casa seguro (ou tente)!
Fique em casa seguro (ou tente)!
 
Hooks em React: o novo jeito de fazer componentes funcionais
Hooks em React: o novo jeito de fazer componentes funcionaisHooks em React: o novo jeito de fazer componentes funcionais
Hooks em React: o novo jeito de fazer componentes funcionais
 
Angular, React ou Vue? Comparando os favoritos do JS reativo
Angular, React ou Vue? Comparando os favoritos do JS reativoAngular, React ou Vue? Comparando os favoritos do JS reativo
Angular, React ou Vue? Comparando os favoritos do JS reativo
 

Autenticação baseada em token com jwt

  • 1. Autenticação baseada em token com JWT Por: Valmir Barbosa dos Santos
  • 2. Confidential & Proprietary O que é o GDG? Google Developer Group é um grupo de profissionais com prometidos com a função de disseminar o conhecimento tecnológico providas do Google, treinar e capacitar pessoas, através de reuniões, cursos de programação, fóruns e realização de eventos. Objetivo: O Google Developers Group Foz do Iguaçu, tem como objetivo juntar os usuários de tecnologias da Google na região e gerar uma troca de conhecimento através de encontros, reuniões e eventos. Além de servir como ponte entre empreendedores e desenvolvedores. GDG Foz do iguaçu
  • 3. Como participar? Você pode palestrar, ministrar cursos, Hangouts, enviar tutoriais ajudar na organização de eventos ou redigir e sugerir matérias para nossas redes sociais. Todo conhecimento compartilhado é bem vindo.
  • 4. O que é JWT? Referência: https://jwt.io/
  • 6.
  • 7. Claims sub Subject - A entidade a quem este token pertence (geralmente o Id do usuário) iat Issued At - Quando o token foi gerado. (unix timestamp) exp Expiry - Quando o token expira. (unix timestamp) nbf Not Before - Quando o token pode ser usado (unix timestamp)
  • 8. Claims iss Issuer - Informa da onde o token está vindo. jti JWT Id - Um identificador exclusivo para o token aud Audience - O público-alvo para o token
  • 9. Vantagens de se usar JWT? - Stateless (não tem session) - Blacklist - Possibilita usar um token para validar um link de um e-mail por exemplo.
  • 10. Vantagens de se usar JWT? - Stateless (não tem session) - Blacklist - Possibilita usar um token para validar um link de um e-mail por exemplo.
  • 12. Criando um API com Laravel com Auth JWT
  • 14. Fazendo login na API com Angular JS
  • 15. Consumindo API com Angular JS
  • 16. Criando nosso módulo angular JWT
  • 17. Um pouco mais sobre Http Interceptor, automatizando mensagens de notificação toast
  • 19. Dicas de como criar um repositório privado com Bower e GIT
  • 20. Referências e dicas de estudo: https://jwt.io/ https://github.com/tymondesigns/jwt-auth https://www.youtube.com/watch?v=4TamswHH5Ts http://pt.slideshare.net/imasters/php-experience-2016-palestra-json-web-token-jwt https://github.com/auth0/angular-jwt/blob/master/dist/angular-jwt.js https://auth0.com/blog/2014/10/01/handling-jwts-on-angular-is-finally-easier/ https://github.com/sahat/satellizer
  • 22. Obrigado pela atenção Valmir Barbosa dos Santos valmir.php@gmail.com