diff --git a/css/style.css b/css/style.css index 0cf0637..bdbcdf1 100644 --- a/css/style.css +++ b/css/style.css @@ -1,6 +1,35 @@ .reveal-viewport { background: #f0f0f0; } +.reveal { + color: #595959; + font-family: Lato, sans-serif; + font-weight: 400; + font-size: 36px; +} +.reveal h1, +.reveal h2, +.reveal h3, +.reveal h4, +.reveal h5, +.reveal h6 { + color: #494949; + font-family: "Roboto Slab", serif; + font-weight: 500; +} +.reveal h1 { + font-size: 2em; +} +.reveal h2 { + font-size: 1.5em; +} +.reveal h3 { + font-size: 1.25em; +} +.reveal h4 { + font-size: 1em; +} + .reveal blockquote { border-left: 5px #ddd solid; text-align: left; @@ -35,10 +64,25 @@ code { background-color: #ddd; color: #e83e8c; font-size: 0.9em; + padding: 0 3px; } li > ul { font-size: 0.8em !important; } +.label { + padding: 0 5px; + font-size: 0.5em; + background: #494949; + color: #fff; + text-transform: uppercase; + border-radius: 5px; +} +.label.flames { + background: #000 url(http://bestanimations.com/Nature/Fire/Flames/Flame-14-june.gif) bottom center repeat-x; +} +.strike { + text-decoration: line-through; +} .d-flex { display: flex; diff --git a/img/authorized-personnel-signs.jpg b/img/authorized-personnel-signs.jpg new file mode 100644 index 0000000..7135bf9 Binary files /dev/null and b/img/authorized-personnel-signs.jpg differ diff --git a/img/google-authenticator.png b/img/google-authenticator.png new file mode 100644 index 0000000..6ba32de Binary files /dev/null and b/img/google-authenticator.png differ diff --git a/img/porteiro-castelo-ratimbum.png b/img/porteiro-castelo-ratimbum.png new file mode 100644 index 0000000..a6a1a83 Binary files /dev/null and b/img/porteiro-castelo-ratimbum.png differ diff --git a/img/yubikey.png b/img/yubikey.png new file mode 100644 index 0000000..be2ceba Binary files /dev/null and b/img/yubikey.png differ diff --git a/index.html b/index.html index 473365c..e6a469c 100644 --- a/index.html +++ b/index.html @@ -10,8 +10,9 @@ - + + @@ -32,8 +33,8 @@

Vinícius Campitelli

@@ -56,11 +57,16 @@

Autenticação e autorização

Autenticação

-
-
- É o ato de estabelecer ou confirmar algo (ou alguém) como autêntico (...) -
- Fonte: Wikipedia +
+
+
+ É o ato de estabelecer ou confirmar algo (ou alguém) como autêntico (...) +
+ Fonte: Wikipedia +
+
+ +
@@ -85,12 +91,16 @@

“O que você sabe”

“O que você tem”

Autenticação baseada na propriedade

-
- Exemplos:
-
    -
  • Um token ou cartão físico
  • -
  • Um código enviado por SMS ou aplicativo
  • -
+
Exemplos:
+
+
+
+ Token ou cartão físico +
+
+
+ Código via aplicativo +
@@ -106,16 +116,21 @@

“O que você é”

-
-

Autorização

-
-
- É garantir que apenas usuários autorizados consumam os recursos protegidos de um sistema computacional -
- Fonte: Wikipedia +
+
+
+

Autorização

+
+ É garantir que apenas usuários autorizados consumam os recursos protegidos de um sistema computacional +
+ Fonte: Wikipedia +
+
+ +
-
+

Autorização

Após saber quem é o cliente no processo de Autenticação, preciso agora entender o que ele pode fazer. Quais recursos ele pode consumir? Por quanto tempo? @@ -140,7 +155,7 @@

Famosa tela de Autorização via OAuth 2

- Tela de exemplo do fluxo de Authorization Code do OAuth 2.0 do Google + Tela de exemplo do fluxo de Authorization Code do OAuth 2.0 do Google
Referência: Shotgun Debugging
@@ -233,22 +248,49 @@

Como deixar os tokens seguros?

Como deixar os tokens seguros?

+
  • Apenas trafegue tokens no cabeçalho ou corpo da requisição, nunca na URL
  • Não exiba informações do token em seus logs
-
Referências
+

Exemplo de implementação

+
use Lcobucci\JWT\Builder;
+
+$time = time();
+$token = (new Builder())
+    ->issuedBy('http://example.com') // Configures the issuer (iss claim)
+    ->permittedFor('http://example.org') // Configures the audience (aud claim)
+    ->identifiedBy('4f1g23a12aa', true) // Configures the id (jti claim), replicating as a header item
+    ->issuedAt($time) // Configures the time that the token was issue (iat claim)
+    ->canOnlyBeUsedAfter($time + 60) // Configures the time that the token can be used (nbf claim)
+    ->expiresAt($time + 3600) // Configures the expiration time of the token (exp claim)
+    ->withClaim('uid', 1) // Configures a new claim, called "uid"
+    ->getToken(); // Retrieves the generated token
+ lcobucci/jwt +
+
+
Bibliotecas
+
+
Referências
+
@@ -385,27 +427,80 @@

O que é um ID sequencial e por que escondê-lo?

Cuidado com espionagem industrial!

-
-

Como resolver?

-