Skip to content

Commit ee3ebdf

Browse files
stackptrclaude
andauthored
feat(spore): add WebFinger endpoint to Pocket ID nginx vhost (#431)
* feat(spore): add WebFinger endpoint to Pocket ID nginx vhost Serves a dynamic WebFinger response at id.zx.dev/.well-known/webfinger, echoing back the resource param as subject and returning the Pocket ID issuer URL. Required for Tailscale custom OIDC integration. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix(spore): serve OIDC WebFinger on zx.dev instead of redirecting to pub.zx.dev Tailscale resolves WebFinger from the email domain (zx.dev), not the issuer host. Replace the defunct Mastodon redirect with a direct OIDC issuer response. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * revert(spore): remove WebFinger from id.zx.dev vhost Tailscale resolves WebFinger at the email domain (zx.dev), not the issuer host (id.zx.dev), so the endpoint there is never used. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 7e196fe commit ee3ebdf

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

hosts/spore/services/web/default.nix

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,12 @@
3636
forceSSL = true;
3737
useACMEHost = "zx.dev";
3838
locations = {
39-
"/.well-known/webfinger" = {
39+
"= /.well-known/webfinger" = {
4040
extraConfig = ''
41-
add_header Access-Control-Allow-Origin '*';
41+
default_type application/jrd+json;
42+
add_header Access-Control-Allow-Origin '*' always;
43+
return 200 '{"subject":"$arg_resource","links":[{"rel":"http://openid.net/specs/connect/1.0/issuer","href":"https://id.zx.dev"}]}';
4244
'';
43-
return = "301 https://pub.zx.dev$request_uri";
4445
};
4546
"/pgp".return = "302 https://keyoxide.org/hkp/413d1a0152bcb08d2e3ddacaf88c08579051ab48";
4647
};

0 commit comments

Comments
 (0)