Three microservices, two incompatible auth models, one public endpoint, and a Go gateway that turned into a pile of strings.HasPrefix conditionals. Here's the rewrite, in Go + TypeScript, and why it ended up sandboxed across two runtimes. I've been trying to keep my publishing schedule to one article a week, but this one felt too special to wait. The article today might be a little boring depending on how much you're into systems and distributed architecture. And if you're already think...