<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Oauth2 on Bill's Blog</title><link>https://billsblog.dev/tags/oauth2/</link><description>Recent content in Oauth2 on Bill's Blog</description><image><title>Bill's Blog</title><url>https://billsblog.dev/images/eft-bg.jpg</url><link>https://billsblog.dev/images/eft-bg.jpg</link></image><generator>Hugo</generator><language>en-AU</language><lastBuildDate>Wed, 15 Jul 2026 21:00:00 +1000</lastBuildDate><atom:link href="https://billsblog.dev/tags/oauth2/index.xml" rel="self" type="application/rss+xml"/><item><title>One Login, MFA Everywhere: Adding an Identity Provider to the Homelab</title><link>https://billsblog.dev/posts/identity-provider-authentik-grafana-sso/</link><pubDate>Wed, 15 Jul 2026 21:00:00 +1000</pubDate><guid>https://billsblog.dev/posts/identity-provider-authentik-grafana-sso/</guid><description>Deploying Authentik as a self-hosted identity provider and wiring Grafana into it with OIDC — so a service that has never heard of MFA suddenly requires it.</description></item></channel></rss>