From 61e73033630928944d5ef10fd75d9e17d321a14a Mon Sep 17 00:00:00 2001 From: Aarnav Tale Date: Mon, 6 Apr 2026 21:17:31 -0400 Subject: [PATCH] fix: handle URI components in provider ID --- app/routes/settings/auth-keys/dialogs/add-auth-key.tsx | 3 ++- app/server/web/headscale-identity.ts | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/app/routes/settings/auth-keys/dialogs/add-auth-key.tsx b/app/routes/settings/auth-keys/dialogs/add-auth-key.tsx index 81ae769..a3682b0 100644 --- a/app/routes/settings/auth-keys/dialogs/add-auth-key.tsx +++ b/app/routes/settings/auth-keys/dialogs/add-auth-key.tsx @@ -29,7 +29,8 @@ function findCurrentUser(users: User[], subject: string | undefined): User | und if (u.provider !== "oidc" || !u.providerId) { return false; } - return u.providerId.split("/").pop() === subject; + const segment = u.providerId.split("/").pop(); + return segment ? decodeURIComponent(segment) === subject : false; }); } diff --git a/app/server/web/headscale-identity.ts b/app/server/web/headscale-identity.ts index ef72ff4..d8a6fd5 100644 --- a/app/server/web/headscale-identity.ts +++ b/app/server/web/headscale-identity.ts @@ -12,7 +12,8 @@ export function getOidcSubject(user: User): string | undefined { return; } - return user.providerId.split("/").pop(); + const segment = user.providerId.split("/").pop(); + return segment ? decodeURIComponent(segment) : segment; } /**