code: func NewAuthProxyRoundTripper(username string, groups []string, extra map[string][]string, rt http.RoundTripper) http.RoundTripper {
  	return &authProxyRoundTripper{
  		username: username,
  		groups:   groups,
  		extra:    extra,
  		rt:       rt,
  	}
  }
docs: // NewAuthProxyRoundTripper provides a roundtripper which will add auth proxy fields to requests for
  // authentication terminating proxy cases
  // assuming you pull the user from the context:
  // username is the user.Info.GetName() of the user
  // groups is the user.Info.GetGroups() of the user
  // extra is the user.Info.GetExtra() of the user
  // extra can contain any additional information that the authenticator
  // thought was interesting, for example authorization scopes.
  // In order to faithfully round-trip through an impersonation flow, these keys
  // MUST be lowercase.