Issue Details
Follow-up to #7685.
#7685 changed caddyauth so http.auth.user.* placeholders may be set when an authentication provider returns user information even if authentication is rejected with authed=false.
This fixed the reported error-handler use case but it also changes the effective semantics of http.auth.user.*. Historically, these placeholders have effectively represented a successfully authenticated principal. With the current behaviour on master they may also represent a provider-returned but rejected identity.
This should be resolved before the next release, either by:
- keeping the new behaviour and documenting it clearly as a behaviour change, or
- preserving
http.auth.user.* for successfully authenticated users only and introducing a separate namespace for rejected-but-identified principals
My preference is the second option likely using a namespace such as http.auth.candidate.* because it avoids blurring the trust semantics of http.auth.user.* while still supporting the use case from #7684.
Assistance Disclosure
AI not used
If AI was used, describe the extent to which it was used.
No response
Issue Details
Follow-up to #7685.
#7685 changed
caddyauthsohttp.auth.user.*placeholders may be set when an authentication provider returns user information even if authentication is rejected withauthed=false.This fixed the reported error-handler use case but it also changes the effective semantics of
http.auth.user.*. Historically, these placeholders have effectively represented a successfully authenticated principal. With the current behaviour on master they may also represent a provider-returned but rejected identity.This should be resolved before the next release, either by:
http.auth.user.*for successfully authenticated users only and introducing a separate namespace for rejected-but-identified principalsMy preference is the second option likely using a namespace such as
http.auth.candidate.*because it avoids blurring the trust semantics ofhttp.auth.user.*while still supporting the use case from #7684.Assistance Disclosure
AI not used
If AI was used, describe the extent to which it was used.
No response