<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <docs>https://blogs.law.harvard.edu/tech/rss</docs>
    <title>OIDC on Fuchsbau</title>
    <link>https://this-is-fine.io/tags/oidc/</link>
    <description>Recent content in OIDC on Fuchsbau</description>
    <image>
      <title>OIDC on Fuchsbau</title>
      <link>https://this-is-fine.io/tags/oidc/</link>
      <url>https://source.unsplash.com/2000x1322/?fox</url>
    </image>
    <ttl>1440</ttl>
    <generator>Hugo 0.125.4</generator>
    <language>de-DE</language>
    <lastBuildDate>Wed, 20 May 2026 22:26:12 UT</lastBuildDate>
    <atom:link href="https://this-is-fine.io/tags/oidc/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Pocket ID as the Lab OIDC Provider (Zot Example)</title>
      <link>https://this-is-fine.io/posts/20251122-pocket-id-oidc-zot/</link>
      <pubDate>Sat, 22 Nov 2025 11:00:00 UT</pubDate>
      <dc:creator>ff0x</dc:creator>
      <guid>https://this-is-fine.io/posts/20251122-pocket-id-oidc-zot/</guid>
      <description>Pocket ID is a small OpenID Connect provider — enough for a homelab without Keycloak. The lab runs it at https://auth.this-is-fine.io with Flux and an HTTPRoute on Envoy Gateway. Below is how Zot uses native OpenID against that issuer.
If you already run a homelab IdP, the interesting part is how little application code must change when the app speaks OIDC natively. Zot is a clear example: configure issuer URL, client ID, and redirect URIs, mount a secret, and the registry UI handles login without an OAuth sidecar in front of it.
</description>
      <category domain="https://this-is-fine.io/categories/infrastructure">Infrastructure</category>
      <content:encoded><![CDATA[Pocket ID is a small OpenID Connect provider — enough for a homelab without Keycloak. The lab runs it at https://auth.this-is-fine.io with Flux and an HTTPRoute on Envoy Gateway. Below is how Zot uses native OpenID against that issuer.
If you already run a homelab IdP, the interesting part is how little application code must change when the app speaks OIDC natively. Zot is a clear example: configure issuer URL, client ID, and redirect URIs, mount a secret, and the registry UI handles login without an OAuth sidecar in front of it.
Software map Piece Link Role Pocket ID pocket-id.org Users, OAuth clients, consent UI OIDC primer OpenID Connect Issuer, client_id, redirect URIs Zot OpenID Zot auth Registry login Pocket ID on the cluster browser -&amp;gt; auth.this-is-fine.io -&amp;gt; Pocket ID (PVC-backed) -&amp;gt; /.well-known/openid-configuration Public route on shared-gateway-external; TRUST_PROXY=true behind Cloudflare. Optional VolSync backup for the PVC. Encryption key and client credentials via SOPS, same as other apps. Register each OAuth client in Pocket ID (redirect URL and scopes) before switching the app on. A mismatch on redirect URI is the most common first-login failure; fix it in Pocket ID, not in Zot’s logs alone.
Zot: native OpenID Zot at oci.this-is-fine.io reads OpenID from zot.json — no Envoy OIDC shim for the registry UI.
&amp;#34;openid&amp;#34;: { &amp;#34;providers&amp;#34;: { &amp;#34;oidc&amp;#34;: { &amp;#34;issuer&amp;#34;: &amp;#34;https://auth.this-is-fine.io&amp;#34;, &amp;#34;scopes&amp;#34;: [&amp;#34;openid&amp;#34;, &amp;#34;profile&amp;#34;, &amp;#34;email&amp;#34;] } } } A Kubernetes Secret mounts the client credentials file. htpasswd stays for robots (buildbot, CI); people use SSO. RBAC maps OIDC groups (admins, users) to registry roles.
human -&amp;gt; oci.this-is-fine.io -&amp;gt; redirect -&amp;gt; auth.this-is-fine.io &amp;lt;- authorization code / token automation -&amp;gt; htpasswd or robot account (unchanged) People through Pocket ID; automation through scoped local accounts — a useful split elsewhere too.
Headscale OIDC is on the backlog (Envoy post notes the TODO): the chart already has placeholder environment variables; enabling them means registering another client in Pocket ID and trusting the same issuer URL.
Related Zot vs Harbor Cosign enforcement Lab GitOps Pocket ID: installation, OIDC clients.
]]></content:encoded>
    </item>
  </channel>
</rss>
