Lecture Session · 🔐 Go

Authentication, Authorization & Security

Eleven short sessions that build one secure User Management API in Go — from a hashed password to a hardened, rate-limited production backend.

✓
Provewho the user is
✓
Decidewhat they may do
✓
Hardenevery request
✓
Shipthe capstone

01 · The System

One request, every layer we will build

Each session adds one layer to the same request path. By session 11 all of them run, in this order.

REQUESTPATCH /users/8from the browser
▼
LIMITRate limit · body size · CORSsessions 08–09
▼
AUTHNVerify the JWT, attach claimssessions 01–04
▼
AUTHZRole · ownership · permissionsessions 05–07
▼
HANDLERValidated input, safe outputsession 10
▼
RESPONSE200 — or a clean error, no stack tracesession 11
→Go standard library first: net/http, Go 1.22 route patterns, crypto/subtle.
→Only four libraries: bcrypt, golang-jwt/v5, x/time/rate, go-redis.
→Every terminal output on these pages comes from a real run.

02 · The 11 Sessions

Everything in this track

Topic 1

Authentication deep dive

Topic 2

Authorization & access control

Topic 3

Backend security & hardening

Topic 4

Capstone

Security is a pipeline, not a feature

Start with the one thing every login depends on: never storing the password.