<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom"><title>Bo's Blog: authentication</title><link href="https://www.odux.uk/" rel="alternate"/><link href="https://www.odux.uk/tags/authentication.atom" rel="self"/><id>https://www.odux.uk/</id><updated>2026-02-05T19:37:20+00:00</updated><author><name>Bo Xu</name></author><entry><title>Auth Problem Looked Bigger Than It Was</title><link href="https://odux.com/2026/Feb/5/auth-problem-looked-bigger-than-it-was/#atom-tag" rel="alternate"/><published>2026-02-05T19:37:20+00:00</published><updated>2026-02-05T19:37:20+00:00</updated><id>https://odux.com/2026/Feb/5/auth-problem-looked-bigger-than-it-was/#atom-tag</id><summary type="html">
    I spent most of this afternoon deep in the weeds designing an auth bridge between an existing cluster of servers and a new service used by the same clients base across the servers. The initial conversations went straight to the “big” answers—Cognito, full OAuth flows, external identity plumbing everywhere—and for a while it felt like the only responsible path was also the most complex one.
&lt;br/&gt;&lt;br/&gt;
Then, after nearly two hours, I realized what we really needed was a trusted issuer and a trusted verifier. We can use the existing platform to issue JWT bearer tokens from our user/client model, sign them with private keys we control, and let the new service verify them with public keys while enforcing claims like issuer, audience, scope, subject, and expiry.
&lt;br/&gt;&lt;br/&gt;
Suddenly the design felt natural: no per-request callback to the issuer, no unnecessary moving parts, and clean attribution of every service call to a known user and client for metering and audit.
&lt;br/&gt;&lt;br/&gt;
A good reminder that “production-grade” doesn’t always mean “maximal complexity”—sometimes the strongest design is the one that makes trust boundaries explicit and keeps the system understandable.
    
        &lt;p&gt;Tags: &lt;a href="https://odux.com/tags/programming"&gt;programming&lt;/a&gt;, &lt;a href="https://odux.com/tags/architecture"&gt;architecture&lt;/a&gt;, &lt;a href="https://odux.com/tags/authentication"&gt;authentication&lt;/a&gt;&lt;/p&gt;
    

</summary><category term="programming"/><category term="architecture"/><category term="authentication"/></entry></feed>