commit: 48c1d2a3114031db8800726b9950cb7d161f1977
parent 4dd9f730bfea697675122162048e486030e305aa
Author: Haelwenn (lanodan) Monnier <contact@hacktivis.me>
Date: Wed, 29 Oct 2025 18:15:08 +0100
articles/webauthn-vs-interoperability: new
Diffstat:
4 files changed, 56 insertions(+), 0 deletions(-)
diff --git a/articles/webauthn-vs-interoperability.xml b/articles/webauthn-vs-interoperability.xml
@@ -0,0 +1,53 @@
+<entry>
+<title>WebAuthn vs. Interoperability</title>
+<link rel="alternate" type="text/html" href="https://hacktivis.me/articles/webauthn-vs-interoperability"/>
+<id>https://hacktivis.me/articles/webauthn-vs-interoperability</id>
+<published>2025-10-29T16:43:16Z</published>
+<updated>2025-10-29T16:43:16Z</updated>
+<!--
+<link rel="external replies" type="application/activity+json" href="https://queer.hacktivis.me/objects/50be9d37-dee6-4c69-818e-013fa3b010d0" />
+<link rel="external replies" type="text/html" href="https://queer.hacktivis.me/objects/50be9d37-dee6-4c69-818e-013fa3b010d0" />
+-->
+<content type="xhtml">
+<div xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" class="h-entry">
+<p>
+ WebAuthn, also marketed as passkeys for a subset of it, is something
+ that seems rather scary to me from an interoperability perspective.
+</p>
+
+<p>
+ Not only it's a lock-in in terms of authenticators, it's also a lock-in to Chrome/Firefox/Safari.<br />
+ Wanted to use an alternative browser? Nope.<br />
+ And you can probably forget using it on embedded devices outside of Android/iOS.<br />
+ Wanted to authenticate to a service on your e-reader? Nope.
+</p>
+
+<p>
+ But there's also the issue of authenticating from non-browsers
+ such as native applications, granted a lot of them use OAuth tokens
+ or similar but there's a sort of bootstrapping problem in systems
+ where you don't have a full-blown mainstream browser.<br />
+ (And good luck copying the OAuth token from one device to another)
+</p>
+
+<p>
+ And the design of WebAuthn means you can't copy
+ the generated token into a text field, unlike
+ <a href="https://en.wikipedia.org/wiki/Time-based_one-time_password">TOTP</a>
+ (sometimes branded as things like Google Authenticator)
+ which has none of those issues while still allowing to use hardware tokens.
+</p>
+
+<p>
+ You could argue on usability, WebAuthn is likely friendlier
+ to most when you follow the intended path thanks to browser-integration.
+ But not due to the underlying WebAuthn properties which instead
+ causes problems, and ones that you're likely to discover the hard way:
+ Getting the authenticators you use revoked;
+ Not being able to authenticate on some devices;
+ Backups being harder;
+ …
+</p>
+</div>
+</content>
+</entry>
diff --git a/config.ninja b/config.ninja
@@ -30,3 +30,4 @@ build articles/no-noscript-element.html: article entry.xsl articles/no-noscript-
build articles/on-licensing.html: article entry.xsl articles/on-licensing.xml
build articles/self-hosting.html: article entry.xsl articles/self-hosting.xml
build articles/wasm-hype-wish.html: article entry.xsl articles/wasm-hype-wish.xml
+build articles/webauthn-vs-interoperability.html: article entry.xsl articles/webauthn-vs-interoperability.xml
diff --git a/feed.atom.in b/feed.atom.in
@@ -11,6 +11,7 @@
<updated>2025-10-06T17:40:29Z</updated>
<!-- new.sh: new articles here -->
+<xi:include href="articles/webauthn-vs-interoperability.xml"/>
<xi:include href="articles/lie-of-the-third-place.xml"/>
<xi:include href="articles/on-licensing.xml"/>
<xi:include href="articles/no-noscript-element.xml"/>
diff --git a/home.shtml b/home.shtml
@@ -13,6 +13,7 @@
<p>List of articles, newest first:</p>
<ol class="indexlist">
<!-- new.sh: new articles here -->
+ <li>2025-10-29: <a href="/articles/webauthn-vs-interoperability">WebAuthn vs. Interoperability</a></li>
<li>2025-10-06: <a href="/articles/lie-of-the-third-place">The lie of the "Third Place"</a></li>
<li>2025-09-17: <a href="/articles/on-licensing">On licensing, around hobbyist projects</a></li>
<li>2025-08-18: <a href="/articles/no-noscript-element">The <noscript> element as a trap</a></li>