Two components: auth.js (client-side) and a Token Handler backend (server-side).