Django + Keycloak: trust authentication to the professionals
summary
A team faced repeated needs for single- and multi-factor authentication, password recovery, LDAP and AD FS integration across Django, FastAPI, and Flask apps and kept writing custom auth code. The talk explains adopting Keycloak (an open-source IAM) and demonstrates what Keycloak and similar Identity and Access Management solutions offer, arguing they are appropriate regardless of programming language or web framework.
AI-written summary · about
chapters (24)
- 0:00Introduction
- 1:10Talk goals and speaker
- 2:15Classic auth problems
- 5:50Why design auth carefully
- 6:33Standards and mature solutions
- 8:41What is JWT and its structure
- 10:04Identification auth and authz
- 10:26Mature auth solutions overview
- 11:14What is Keycloak and its features
- 14:10Running Keycloak locally
- 14:51Keycloak main entities
- 16:17Creating a Keycloak client
- 17:25Client settings and OpenID Connect
- 19:12OpenID config and public key
- 20:14Django Keycloak integration
- 23:44Django integration pitfalls
- 24:50Session auth example
- 25:32Stateful token auth
- 26:14Integration with other frameworks
- 27:39System responsibilities split
- 28:00Conclusion and source code
- 28:20Q&A
- 29:26Q&A and Keycloak downsides
- 33:18Architecture and frontend questions
related talks
17mSecuring and Protecting Python Applications with Open Keycloak
43mKeycloak + Spring + Vue.js: Seamless SSO Authentication
35mExternal authentication for Django projects
44mManaging Identities: LDAP, Google Directory, and Django
26mIntegrating 2 factor authentication into your project
53mHow to Secure Your Spring Apps with Keycloak
21mDon't Be Afraid to Operate Alone! The ABCs of Authentication Infrastructure Management
07mWelcome + Opening Remarks
