types: fix OIDC identifier path traversal dropping subject
url.JoinPath resolves path-traversal segments like '..' and '.', which silently drops the OIDC subject from the identifier. For example, Iss='https://example.com' with Sub='..' produces 'https://example.com' — the subject is lost entirely. This causes distinct OIDC users to receive colliding identifiers. Replace url.JoinPath with simple string concatenation using a slash separator. This preserves the subject literally regardless of its content. url.PathEscape does not help because dots are valid URL path characters and are not escaped.
K
Kristoffer Dalby committed
3529fe0da16e9f79b34ce9d13cfcaf4035b9c751
Parent: 4064f13
Committed by Kristoffer Dalby <kristoffer@dalby.cc>
on 4/10/2026, 12:18:56 PM