@@ -61,6 +61,7 @@ type OAuthProxy struct {
6161 serveMux http.Handler
6262 PassBasicAuth bool
6363 SkipProviderButton bool
64+ PassUserHeaders bool
6465 BasicAuthPassword string
6566 PassAccessToken bool
6667 CookieCipher *cookie.Cipher
@@ -196,6 +197,7 @@ func NewOAuthProxy(opts *Options, validator func(string) bool) *OAuthProxy {
196197 skipAuthRegex: opts.SkipAuthRegex,
197198 compiledRegex: opts.CompiledRegex,
198199 PassBasicAuth: opts.PassBasicAuth,
200+ PassUserHeaders: opts.PassUserHeaders,
199201 BasicAuthPassword: opts.BasicAuthPassword,
200202 PassAccessToken: opts.PassAccessToken,
201203 SkipProviderButton: opts.SkipProviderButton,
@@ -615,6 +617,12 @@ func (p *OAuthProxy) Authenticate(rw http.ResponseWriter, req *http.Request) int
615617 req.Header["X-Forwarded-Email"] = []string{session.Email}
616618 }
617619 }
620+ if p.PassUserHeaders {
621+ req.Header["X-Forwarded-User"] = []string{session.User}
622+ if session.Email != "" {
623+ req.Header["X-Forwarded-Email"] = []string{session.Email}
624+ }
625+ }
618626 if p.PassAccessToken && session.AccessToken != "" {
619627 req.Header["X-Forwarded-Access-Token"] = []string{session.AccessToken}
620628 }