Lock That Sh*t Down!
Auth Security Patterns or Apps, APIs, and In ra
Brian Demers and Matt Raible
@briandemers / @mraible
September 2, 2021
@briandemers / @mraible
Who are we?
Brian Demers
Open Source Developer and Java Champion
Fun acts: likes to snowboard; into 🐝
@bdemers
Matt Raible
Open Source Developer and Java Champion
Fun acts: likes to ski; into classic VWs ✌
@mraible
@briandemers / @mraible
Today's A enda What is Auth?
AuthN vs AuthZ
01
App Auth Security Patterns
Web, SPA, Mobile
02
API Auth Security Patterns
Tokens, OAuth, Secrets
03
In ra Auth Security Patterns
Linux, SSH, Docker, Kubernetes
04
Action!
How to implement these patterns
05
@briandemers / @mraible
@briandemers / @mraible
01
What is Auth?
@briandemers / @mraible
@briandemers / @mraible
Soooo ...
Why should you care?
@briandemers / @mraible
A brie history o Auth
@briandemers / @mraible
60s: First
Password
1977:
RSA
1994:
SSL
2006:
SAML 2.0
2012:
OAuth 2.0
2014:
OIDC
2017:
PKCE
@briandemers / @mraible
Developer Personas
App Developer
Frontend Developer
Mobile App Developer
Web Developer
API Developer
Java Developer
Backend Developer
Probably likes tests
DevOps
System Administrator
Deployer
Operations
Monitorin
Security
Concerned Consultant
Paranoid Geek
Security over
per ormance
@briandemers / @mraible
@briandemers / @mraible
02
App Auth
Security
Patterns
@briandemers / @mraible
@briandemers / @mraible
Web vs SPA vs
Mobile App
@briandemers / @mraible
@briandemers / @mraible
HTTP Basic
@briandemers / @mraible
@briandemers / @mraible
Form-based Authentication
@briandemers / @mraible
CHALLENGE SOLUTION
@briandemers / @mraible
SAML
@briandemers / @mraible
SAML is to OIDC as
SOAP is to REST.
-Joël Franusic (@j )
@briandemers / @mraible
JWT Authentication
@briandemers / @mraible
@briandemers / @mraible
@briandemers / @mraible
Why JWTs Suck as Session Tokens
-@rde es on developer.okta.com, 2017
What do we do about JWT?
-Security. Crypto raphy. Whatever. podcast, 2021
@briandemers / @mraible
OpenID Connect (OIDC) or Auth
@briandemers / @mraible
Identity
Provider
🔒Veri y
@briandemers / @mraible
Multi-Factor Authentication (MFA)
@briandemers / @mraible
Passwordless
password
Password1
Password1!
We like to think we know what we are talking
about, at least Okta hasn't fired us yet…
@briandemers / @mraible
@briandemers / @mraible
SAML
⭐ ⭐
App Auth
Security
Patterns HTTP Basic
⭐
Embedded Auth
⭐
OpenID Connect
⭐ ⭐ ⭐ ⭐
MFA
⭐ ⭐ ⭐ ⭐ ⭐
Passwordless
⭐ ⭐ ⭐ ⭐ ⭐
JWT Auth
⭐ ⭐
@briandemers / @mraible
@briandemers / @mraible
App Auth Security Patterns
Tired Wired
Apps handlin passwords
Stateless to scale
OAuth Implicit Flow
Sensitive data in URL
Let someone else worry about it
Sessions are tried and true
OAuth Auth Code w/ PKCE
Use headers or the body
@briandemers / @mraible
@briandemers / @mraible
03
API Auth
Security
Patterns
@briandemers / @mraible
@briandemers / @mraible
HTTP Basic
@briandemers / @mraible
spring:
cloud:
config:
fail-fast: true
retry:
initial-interval: 1000
max-interval: 2000
max-attempts: 100
uri: http://admin:${jhipster.registry.password}@localhost:8761/config
# name of the config server's property source (file.yml) that we want to use
name: store
profile: prod # profile(s) of the property source
label: main # toggle to switch to a different version stored in git
jhipster:
registry:
password: admin
@briandemers / @mraible
Tokens
@briandemers / @mraible
$20
@briandemers / @mraible
OAuth 2.0
@briandemers / @mraible https://aaronparecki.com/2019/12/12/21/its-time- or-oauth-2-dot-1
@briandemers / @mraible
OAuth 2.0
@briandemers / @mraible
@briandemers / @mraible
OAuth 2.0
@briandemers / @mraible
@briandemers / @mraible
OAuth 2.1
@briandemers / @mraible
https://oauth.net/2.1
Authorization Code + PKCE
Client Credentials
Device Grant
@briandemers / @mraible
OAuth Client Credentials
@briandemers / @mraible
@briandemers / @mraible
API Gateway
API
Gateway
App
App
App
/do s
/cats
/fish
@briandemers / @mraible
{ Rest }
Client
@briandemers / @mraible
Use API SDKs
@briandemers / @mraible
@briandemers / @mraible
Encrypt and Rotate Secrets
@briandemers / @mraible
@briandemers / @mraible
RBAC and ACLs
@briandemers / @mraible
Groups
Admin
User
Help Desk
Privile e
Record : Read
Record : Create
Record : Update
Record : Delete
Users
@briandemers / @mraible
OAuth 2.1
⭐ ⭐ ⭐ ⭐ ⭐
API Auth
Security
Patterns HTTP Basic
⭐ ⭐
Tokens
⭐ ⭐ ⭐
API SDKs
⭐ ⭐ ⭐ ⭐
Encrypt Secrets
⭐ ⭐ ⭐ ⭐ ⭐
RBAC and ACLs
⭐ ⭐ ⭐ ⭐ ⭐
API Gateway
⭐ ⭐ ⭐ ⭐ ⭐
@briandemers / @mraible
@briandemers / @mraible
API Auth Security Patterns
Tired Wired
Build it yoursel
Static API Tokens
CORS wildcard
Use existin libraries
Short lived access tokens
Restrict access with CORS
@briandemers / @mraible
@briandemers / @mraible
04
In ra Auth
Security
Patterns
@briandemers / @mraible
CHALLENGE SOLUTION
@briandemers / @mraible
Linux
@briandemers / @mraible
So tware is Automation
and Automation is
less toil.
-Mark Shuttleworth
Canonical CEO
Larry Ewin
@briandemers / @mraible
SSH with Keys
@briandemers / @mraible
https://www.ssh.com/academy/ssh/protocol
Certificates
CC BY 3.0: EFF.or
@briandemers / @mraible
@briandemers / @mraible
@briandemers / @mraible
SSO or Servers
https://www.redhat.com/sysadmin/plu able-authentication-modules-pam
Active Directory
Plu able Authentication Modules (PAM) or Linux
Okta's Advanced Server Access
https://www.redhat.com/sysadmin/plu able-authentication-modules-pam
Scan Docker Ima es
@briandemers / @mraible
@briandemers / @mraible
Know Your Cloud and Cluster Security
@briandemers / @mraible https://twitter.com/acloud uru/status/1344724013122260993
@briandemers / @mraible
The 4C's o Cloud Native Security
https://kubernetes.io/docs/concepts/security/overview/
@briandemers / @mraible
@briandemers / @mraible
Kubernetes Tips
Kubernetes Tips
Only expose what needs to be public
Scan and update Kubernetes YAML
Check out Kubescape
https://www.in oq.com/podcasts/continuous-delivery-with-kubernetes
@briandemers / @mraible
@briandemers / @mraible
Encrypt Kubernetes Secrets
@briandemers / @mraible
apiVersion: v1
kind: Secret
metadata:
name: registry-secret
namespace: demo
type: Opaque
data:
registry-admin-password: ZTVmNzU2YWEtMmEyMy00NzE3LTgwOTMtNzcyYTRkOTliZDI4 # base64
encoded "e5f756aa-2a23-4717-8093-772a4d99bd28"
@briandemers / @mraible
Automation is Key
@briandemers / @mraible
WSJ
@briandemers / @mraible
Certificates
⭐ ⭐ ⭐ ⭐
In ra Auth
Security
Patterns Linux
⭐ ⭐ ⭐ ⭐ ⭐
SSH with Keys
⭐ ⭐ ⭐
Scan Docker Ima es
⭐ ⭐ ⭐ ⭐ ⭐
Encrypt K8s Secrets
⭐ ⭐ ⭐ ⭐ ⭐
Automate Your In ra
⭐ ⭐ ⭐ ⭐ ⭐
SSO or Servers
⭐ ⭐ ⭐ ⭐ ⭐
@briandemers / @mraible
@briandemers / @mraible
In ra Auth Security Patterns
Tired Wired
FROM: some-lar e-ima e:1.2.3
Secrets in Ima es
Shared Credentials
Use minimal ima es
HashiCorp Vault
Limit Access
@briandemers / @mraible
@briandemers / @mraible
05
Action!
@briandemers / @mraible
@briandemers / @mraible
Action
How to codi y these patterns?
@briandemers / @mraible
spring
security
@briandemers / @mraible
Action
How to test or lack o
patterns?
@briandemers / @mraible
https://implicitdetector.io
Audit Server Access
@briandemers / @mraible
Action
How to test or vulnerabilities?
@briandemers / @mraible
@briandemers / @mraible
What about ?
@briandemers / @mraible
The OWASP Top 10 really
hasn’t chan ed all that
much in the last ten years.
-Johnny Xmas (@J0hnnyXm4s)
@briandemers / @mraible
@briandemers / @mraible
developer.okta.com/blo
@oktadev
@briandemers / @mraible
@briandemers / @mraible
Thanks!
Brian Demers
@briandemers @bdemers
@bdemers
brian.demers@okta.com
Matt Raible
@mraible @mraible
@mraible
matt.raible@okta.com
https://speakerdeck.com/mraible
developer.okta.com

More Related Content

PPTX
Iptables the Linux Firewall
PDF
Embedded Linux Quick Start Guide v1.5
PDF
Graylog for open stack 3 steps to know why
PDF
ビルトインサーバーLoRaWANゲートウェイ LPS8v2日本語ユーザーマニュアル
PDF
How to hide your browser 0-days
PDF
Linux BPF Superpowers
PDF
Chapter 10
PDF
NetBox as the Source of Truth for Cisco NSO Configurations
Iptables the Linux Firewall
Embedded Linux Quick Start Guide v1.5
Graylog for open stack 3 steps to know why
ビルトインサーバーLoRaWANゲートウェイ LPS8v2日本語ユーザーマニュアル
How to hide your browser 0-days
Linux BPF Superpowers
Chapter 10
NetBox as the Source of Truth for Cisco NSO Configurations

What's hot (20)

PDF
Zmap Hack The Planet
PPTX
Password Recovery
PPTX
Access control list acl - permissions in linux
PDF
Linux kernel modules
PDF
Performance Wins with eBPF: Getting Started (2021)
PPTX
IPSec VPN & IPSec Protocols
PPTX
Récupération d’une Base De Données & Flashback Database
PDF
2.3.1.5 packet tracer configuring rapid pvst+ answer
PDF
DNS Hizmetine Yönetlik DoS/DDoS Saldırıları
PPTX
Reduce latency and boost sql server io performance
DOCX
DHCP SERVER Logları ve SNMP ile Kimlik Takibi
PDF
Nvidia cuda tutorial_no_nda_apr08
PDF
SynFlood DDOS Saldırıları ve Korunma Yolları
PDF
Linux İşletim Sistemi - Güncelleme-2018
PDF
Red Hat Enterprise Linux Administration 9.0 RH124 pdf
PDF
IntelON 2021 Processor Benchmarking
PDF
DBD::SQLite
PPTX
Network defenses
PDF
Automate MariaDB Galera clusters deployments with Ansible
PDF
Çalıştay | DDoS Saldırıları Nasıl Gerçekleştirilir?
Zmap Hack The Planet
Password Recovery
Access control list acl - permissions in linux
Linux kernel modules
Performance Wins with eBPF: Getting Started (2021)
IPSec VPN & IPSec Protocols
Récupération d’une Base De Données & Flashback Database
2.3.1.5 packet tracer configuring rapid pvst+ answer
DNS Hizmetine Yönetlik DoS/DDoS Saldırıları
Reduce latency and boost sql server io performance
DHCP SERVER Logları ve SNMP ile Kimlik Takibi
Nvidia cuda tutorial_no_nda_apr08
SynFlood DDOS Saldırıları ve Korunma Yolları
Linux İşletim Sistemi - Güncelleme-2018
Red Hat Enterprise Linux Administration 9.0 RH124 pdf
IntelON 2021 Processor Benchmarking
DBD::SQLite
Network defenses
Automate MariaDB Galera clusters deployments with Ansible
Çalıştay | DDoS Saldırıları Nasıl Gerçekleştirilir?
Ad

Similar to Lock That Sh*t Down! Auth Security Patterns for Apps, APIs, and Infra (20)

PDF
Lock That Shit Down! Auth Security Patterns for Apps, APIs, and Infra - Joker...
PDF
Lock That Sh*t Down! Auth Security Patterns for Apps, APIs, and Infra - Devne...
PDF
Centralise legacy auth at the ingress gateway, SREday
PDF
Centralise legacy auth at the ingress gateway
PDF
Centralise legacy auth at the ingress gateway
PDF
Draft Hammer Oauth 10
PDF
Draft Ietf Oauth V2 12
PPTX
DevOops Redux Ken Johnson Chris Gates - AppSec USA 2016
PDF
Web App Security for Java Developers - PWX 2021
PDF
Web App Security for Java Developers - UberConf 2021
PDF
When and Why Would I use Oauth2?
PDF
APIsecure 2023 - OAuth, OIDC and protecting third-party credentials, Ed Olson...
PPTX
Microservices security - jpmc tech fest 2018
PDF
OpenID Foundation FAPI WG: June 2017 Update
PPTX
DevSecOps in a cloudnative world
PDF
JDD2015: Security in the era of modern applications and services - Bolesław D...
PDF
Keycloak cloud native
PDF
Cloud Native App Security
PPTX
Enterprise Access Control Patterns for REST and Web APIs Gluecon 2011, Franco...
PDF
API Security with OAuth2.0.
Lock That Shit Down! Auth Security Patterns for Apps, APIs, and Infra - Joker...
Lock That Sh*t Down! Auth Security Patterns for Apps, APIs, and Infra - Devne...
Centralise legacy auth at the ingress gateway, SREday
Centralise legacy auth at the ingress gateway
Centralise legacy auth at the ingress gateway
Draft Hammer Oauth 10
Draft Ietf Oauth V2 12
DevOops Redux Ken Johnson Chris Gates - AppSec USA 2016
Web App Security for Java Developers - PWX 2021
Web App Security for Java Developers - UberConf 2021
When and Why Would I use Oauth2?
APIsecure 2023 - OAuth, OIDC and protecting third-party credentials, Ed Olson...
Microservices security - jpmc tech fest 2018
OpenID Foundation FAPI WG: June 2017 Update
DevSecOps in a cloudnative world
JDD2015: Security in the era of modern applications and services - Bolesław D...
Keycloak cloud native
Cloud Native App Security
Enterprise Access Control Patterns for REST and Web APIs Gluecon 2011, Franco...
API Security with OAuth2.0.
Ad

More from VMware Tanzu (20)

PDF
Spring into AI presented by Dan Vega 5/14
PDF
What AI Means For Your Product Strategy And What To Do About It
PDF
Make the Right Thing the Obvious Thing at Cardinal Health 2023
PPTX
Enhancing DevEx and Simplifying Operations at Scale
PDF
Spring Update | July 2023
PPTX
Platforms, Platform Engineering, & Platform as a Product
PPTX
Building Cloud Ready Apps
PDF
Spring Boot 3 And Beyond
PDF
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
PDF
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
PDF
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
PPTX
tanzu_developer_connect.pptx
PDF
Tanzu Virtual Developer Connect Workshop - French
PDF
Tanzu Developer Connect Workshop - English
PDF
Virtual Developer Connect Workshop - English
PDF
Tanzu Developer Connect - French
PDF
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
PDF
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
PDF
SpringOne Tour: The Influential Software Engineer
PDF
SpringOne Tour: Domain-Driven Design: Theory vs Practice
Spring into AI presented by Dan Vega 5/14
What AI Means For Your Product Strategy And What To Do About It
Make the Right Thing the Obvious Thing at Cardinal Health 2023
Enhancing DevEx and Simplifying Operations at Scale
Spring Update | July 2023
Platforms, Platform Engineering, & Platform as a Product
Building Cloud Ready Apps
Spring Boot 3 And Beyond
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
tanzu_developer_connect.pptx
Tanzu Virtual Developer Connect Workshop - French
Tanzu Developer Connect Workshop - English
Virtual Developer Connect Workshop - English
Tanzu Developer Connect - French
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: The Influential Software Engineer
SpringOne Tour: Domain-Driven Design: Theory vs Practice

Recently uploaded (20)

PPTX
WiFi Honeypot Detecscfddssdffsedfseztor.pptx
PDF
The Dynamic Duo Transforming Financial Accounting Systems Through Modern Expe...
PDF
Cost to Outsource Software Development in 2025
PPTX
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
PPTX
assetexplorer- product-overview - presentation
PDF
How Tridens DevSecOps Ensures Compliance, Security, and Agility
PDF
MCP Security Tutorial - Beginner to Advanced
PDF
How to Make Money in the Metaverse_ Top Strategies for Beginners.pdf
PPTX
Monitoring Stack: Grafana, Loki & Promtail
PDF
DNT Brochure 2025 – ISV Solutions @ D365
PDF
Visual explanation of Dijkstra's Algorithm using Python
PPTX
CNN LeNet5 Architecture: Neural Networks
PDF
Salesforce Agentforce AI Implementation.pdf
PDF
AI/ML Infra Meetup | Beyond S3's Basics: Architecting for AI-Native Data Access
PPTX
Oracle Fusion HCM Cloud Demo for Beginners
PDF
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
PDF
Wondershare Recoverit Full Crack New Version (Latest 2025)
PDF
DuckDuckGo Private Browser Premium APK for Android Crack Latest 2025
PDF
Website Design Services for Small Businesses.pdf
PDF
Types of Token_ From Utility to Security.pdf
WiFi Honeypot Detecscfddssdffsedfseztor.pptx
The Dynamic Duo Transforming Financial Accounting Systems Through Modern Expe...
Cost to Outsource Software Development in 2025
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
assetexplorer- product-overview - presentation
How Tridens DevSecOps Ensures Compliance, Security, and Agility
MCP Security Tutorial - Beginner to Advanced
How to Make Money in the Metaverse_ Top Strategies for Beginners.pdf
Monitoring Stack: Grafana, Loki & Promtail
DNT Brochure 2025 – ISV Solutions @ D365
Visual explanation of Dijkstra's Algorithm using Python
CNN LeNet5 Architecture: Neural Networks
Salesforce Agentforce AI Implementation.pdf
AI/ML Infra Meetup | Beyond S3's Basics: Architecting for AI-Native Data Access
Oracle Fusion HCM Cloud Demo for Beginners
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
Wondershare Recoverit Full Crack New Version (Latest 2025)
DuckDuckGo Private Browser Premium APK for Android Crack Latest 2025
Website Design Services for Small Businesses.pdf
Types of Token_ From Utility to Security.pdf

Lock That Sh*t Down! Auth Security Patterns for Apps, APIs, and Infra