outposts/proxy: cache basic and bearer credentials for one minute

Signed-off-by: Jens Langhammer <jens@goauthentik.io>
This commit is contained in:
Jens Langhammer
2023-01-14 22:12:48 +01:00
parent 4c45d35507
commit 0ddcefce80
3 changed files with 68 additions and 29 deletions

View File

@ -25,9 +25,19 @@ func (ps *ProxyServer) Refresh() error {
rsp := sentry.StartSpan(context.Background(), "authentik.outposts.proxy.application_ss")
ua := fmt.Sprintf(" (provider=%s)", provider.Name)
hc := &http.Client{
Transport: web.NewUserAgentTransport(constants.OutpostUserAgent()+ua, web.NewTracingTransport(rsp.Context(), ak.GetTLSTransport())),
Transport: web.NewUserAgentTransport(
constants.OutpostUserAgent()+ua,
web.NewTracingTransport(
rsp.Context(),
ak.GetTLSTransport(),
),
),
}
a, err := application.NewApplication(provider, hc, ps.cryptoStore, ps.akAPI)
existing, ok := apps[a.Host]
if ok {
existing.Stop()
}
if err != nil {
ps.log.WithError(err).Warning("failed to setup application")
} else {