@@ -60,6 +60,7 @@ type OAuthProxy struct {
60 HtpasswdFile *HtpasswdFile
60 HtpasswdFile *HtpasswdFile
61 DisplayHtpasswdForm bool
61 DisplayHtpasswdForm bool
62 serveMux http.Handler
62 serveMux http.Handler
63 PassBasicAuth bool
64 PassBasicAuth bool
64 SkipProviderButton bool
65 SkipProviderButton bool
65 PassUserHeaders bool
66 PassUserHeaders bool
@@ -198,6 +199,7 @@ func NewOAuthProxy(opts *Options, validator func(string) bool) *OAuthProxy {
198 redirectURL: redirectURL,
199 redirectURL: redirectURL,
199 skipAuthRegex: opts.SkipAuthRegex,
200 skipAuthRegex: opts.SkipAuthRegex,
200 compiledRegex: opts.CompiledRegex,
201 compiledRegex: opts.CompiledRegex,
202+ SetXAuthRequest: opts.SetXAuthRequest,
201 PassBasicAuth: opts.PassBasicAuth,
203 PassBasicAuth: opts.PassBasicAuth,
202 PassUserHeaders: opts.PassUserHeaders,
204 PassUserHeaders: opts.PassUserHeaders,
203 BasicAuthPassword: opts.BasicAuthPassword,
205 BasicAuthPassword: opts.BasicAuthPassword,
@@ -663,6 +665,12 @@ func (p *OAuthProxy) Authenticate(rw http.ResponseWriter, req *http.Request) int
663 req.Header["X-Forwarded-Email"] = []string{session.Email}
665 req.Header["X-Forwarded-Email"] = []string{session.Email}
668+ if p.SetXAuthRequest {
669+ rw.Header().Set("X-Auth-Request-User", session.User)
670+ if session.Email != "" {
671+ rw.Header().Set("X-Auth-Request-Email", session.Email)
666 if p.PassAccessToken && session.AccessToken != "" {
674 if p.PassAccessToken && session.AccessToken != "" {
667 req.Header["X-Forwarded-Access-Token"] = []string{session.AccessToken}
675 req.Header["X-Forwarded-Access-Token"] = []string{session.AccessToken}