Azure

Your public API has no login — and no identity

Browsing without signing in is the requirement. Trusting the header was the bug.

What you'll learn

  • An Origin or X-Client-App header is a string the caller chooses, so it authenticates a channel, not a caller.
  • A short-lived guest token gives an anonymous request a countable, expiring, revocable identity without any account behind it.
  • Rate-limit on the token subject rather than the IP: addresses rotate hourly on a proxy pool and a whole office shares one behind NAT.
Azure Security 8 steps 26 seconds —views

Was this useful?

Share

Understand it one step at a time

The short runs these in order in about 26 seconds. Here they are written out — pick any step to jump the short straight to it.

1 Step 1 of 8

Browsing without a login was the requirement

Search and browse before sign-in is a deliberate product decision, and the right one. Nobody creates an account to see a menu.

Frequently asked questions

How can a mobile app call an API without a login?
It asks your API for a token of its own before the user does anything. Your API issues a short-lived guest JWT scoped to read-only endpoints. The user never sees a login screen, but every request still carries an identity you can rate-limit and revoke.
Is checking the Origin header enough to secure a public API?
No. Origin and Referer are ordinary request headers, so any curl command can set them to whatever your server expects. CORS is enforced by the browser to protect the user, not by your server to protect your data.

Free app · no app store

These are built for a phone

Every short is drawn at full portrait height, the shape a phone already is. Installed, it opens full-bleed with no address bar across the top — and the whole library reads offline.

How it works

Read deeper on Azure

Twenty seconds gets the shape of an idea across. These go into how it behaves in production.

More shorts

Get new posts by email

New technical articles, Azure AI and GitHub Copilot updates, and upcoming events. No spam, unsubscribe anytime.

↑↓ navigate ↵ open