internal: call GetStore on application to improve logging

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
This commit is contained in:
Jens Langhammer 2021-10-12 13:33:20 +02:00
parent cc69311ec0
commit 22a7c25526
2 changed files with 4 additions and 5 deletions

View file

@ -73,11 +73,11 @@ func NewApplication(p api.ProxyOutpostConfig, c *http.Client, cs *ak.CryptoStore
endpint: endpoint, endpint: endpoint,
oauthConfig: oauth2Config, oauthConfig: oauth2Config,
tokenVerifier: verifier, tokenVerifier: verifier,
sessions: GetStore(p),
proxyConfig: p, proxyConfig: p,
httpClient: c, httpClient: c,
mux: mux, mux: mux,
} }
a.sessions = a.getStore(p)
muxLogger := log.WithField("logger", "authentik.outpost.proxyv2.application").WithField("name", p.Name) muxLogger := log.WithField("logger", "authentik.outpost.proxyv2.application").WithField("name", p.Name)
mux.Use(web.NewLoggingHandler(muxLogger, func(l *log.Entry, r *http.Request) *log.Entry { mux.Use(web.NewLoggingHandler(muxLogger, func(l *log.Entry, r *http.Request) *log.Entry {
s, err := a.sessions.Get(r, constants.SeesionName) s, err := a.sessions.Get(r, constants.SeesionName)

View file

@ -5,13 +5,12 @@ import (
"strconv" "strconv"
"github.com/gorilla/sessions" "github.com/gorilla/sessions"
log "github.com/sirupsen/logrus"
"goauthentik.io/api" "goauthentik.io/api"
"goauthentik.io/internal/config" "goauthentik.io/internal/config"
"gopkg.in/boj/redistore.v1" "gopkg.in/boj/redistore.v1"
) )
func GetStore(p api.ProxyOutpostConfig) sessions.Store { func (a *Application) getStore(p api.ProxyOutpostConfig) sessions.Store {
var store sessions.Store var store sessions.Store
if config.G.Redis.Host != "" { if config.G.Redis.Host != "" {
rs, err := redistore.NewRediStoreWithDB(10, "tcp", fmt.Sprintf("%s:%d", config.G.Redis.Host, config.G.Redis.Port), config.G.Redis.Password, strconv.Itoa(config.G.Redis.OutpostSessionDB), []byte(*p.CookieSecret)) rs, err := redistore.NewRediStoreWithDB(10, "tcp", fmt.Sprintf("%s:%d", config.G.Redis.Host, config.G.Redis.Port), config.G.Redis.Password, strconv.Itoa(config.G.Redis.OutpostSessionDB), []byte(*p.CookieSecret))
@ -24,7 +23,7 @@ func GetStore(p api.ProxyOutpostConfig) sessions.Store {
rs.Options.MaxAge = int(*t) + 1 rs.Options.MaxAge = int(*t) + 1
} }
rs.Options.Domain = *p.CookieDomain rs.Options.Domain = *p.CookieDomain
log.Info("using redis session backend") a.log.Info("using redis session backend")
store = rs store = rs
} else { } else {
cs := sessions.NewCookieStore([]byte(*p.CookieSecret)) cs := sessions.NewCookieStore([]byte(*p.CookieSecret))
@ -34,7 +33,7 @@ func GetStore(p api.ProxyOutpostConfig) sessions.Store {
// Add one to the validity to ensure we don't have a session with indefinite length // Add one to the validity to ensure we don't have a session with indefinite length
cs.Options.MaxAge = int(*t) + 1 cs.Options.MaxAge = int(*t) + 1
} }
log.Info("using cookie session backend") a.log.Info("using cookie session backend")
store = cs store = cs
} }
return store return store