diff --git a/internal/configurations/rest_controller_configuration.go b/internal/configurations/rest_controller_configuration.go index 40f964c..7878fe8 100644 --- a/internal/configurations/rest_controller_configuration.go +++ b/internal/configurations/rest_controller_configuration.go @@ -13,6 +13,7 @@ type RESTControllerConfiguration struct { LogoutURL string `envconfig:"LOGOUT_URL" default:"/logout"` UserInfoURL string `envconfig:"USER_INFO_URL" default:"/userinfo"` HTTPRequestTimeout time.Duration `envconfig:"HTTP_REQUEST_TIMEOUT" default:"30s"` + AccessTokenCookie string `envconfig:"ACCESS_TOKEN_COOKIE" default:"access_token"` UserIDHeader string `envconfig:"USER_ID_HEADER" default:"userid"` CookieMaxAge int `envconfig:"COOKIE_MAX_AGE" default:"86400"` SkipURLs []string `envconfig:"SKIP_URLS" default:"/dex" split_words:"true"` diff --git a/internal/controllers/rest_controller.go b/internal/controllers/rest_controller.go index 7509f82..12a463f 100644 --- a/internal/controllers/rest_controller.go +++ b/internal/controllers/rest_controller.go @@ -85,6 +85,8 @@ func (rc RESTController) CheckForAuthentication(w http.ResponseWriter, r *http.R rc.logger.Debugf("Valid Token: %s", token) rc.logger.Infof("Authorizing request for UserID: %v", userInfo.Email) + http.SetCookie(w, &http.Cookie{Name: rc.configuration.AccessTokenCookie, Value: token}) + // set UserID Header + 200 OK w.Header().Set(rc.configuration.UserIDHeader, userInfo.Email) w.WriteHeader(http.StatusOK)