Nothing to rotate
Each token is signed by the platform and expires on its own. There is no key to copy into each project's environment variables.
Vercel, GitHub Actions, Google Cloud, AWS and GitLab give each workload a short-lived, signed token. Umbraco accepts it on the Delivery API and on the endpoints you choose.
dotnet add package TheBuilder.ApiOidcUmbraco CMS 17.1 or later · .NET 10
For frontends that run on Vercel, GitHub Actions, Google Cloud, AWS, GitLab or another platform that issues OIDC tokens.
Each token is signed by the platform and expires on its own. There is no key to copy into each project's environment variables.
A Vercel team, a set of GitHub repositories or a cloud service account. Tokens from anywhere else are refused.
Public access and the API key behave as before, so you can move frontends over one at a time.
Presets cover Vercel and GitHub Actions. Any other OIDC issuer needs its URL, an audience and the claims a token must carry.
Set up your issuer"ApiOidc": {
"Issuers": [
{ "Preset": "Vercel", "Team": "acme" }
]
}The frontend asks its platform for a token and sends it as X-Oidc-Token. Your own endpoints can require the same token with an attribute.
import { getVercelOidcToken } from "@vercel/oidc";
const url = new URL("/umbraco/delivery/api/v2/content", UMBRACO_URL);
const response = await fetch(url, {
headers: { "X-Oidc-Token": await getVercelOidcToken() },
});Install the package, add your platform's issuer, and send the token from one frontend. The others keep using the API key until you move them.
Read the quickstartFocused packages for modern Umbraco projects.
Generates a WebP, BlurHash or ThumbHash placeholder when an image is saved, ready for your frontend to show while the image loads.
Shows the traffic from Vercel Web Analytics or Plausible in the Umbraco backoffice, for the whole site and for each page.
Reads the C2PA Content Credentials on uploaded images and flags the ones that say they were made or edited with AI.
Lets editors change the next-intl or i18next messages in your app from Umbraco. Your app fetches the changes when it runs.
Shows your Document Types as a city in the backoffice, with the links between them, and flags schema problems before they ship.
Renders the rich text JSON from the Umbraco Content Delivery API with React. You decide how each block and node is rendered.