fix(http): init oidc handler if enabled (#1888)

This commit is contained in:
ze0s 2024-12-22 21:59:58 +01:00 committed by GitHub
parent e0b4e8bbc8
commit b68ae334ca
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -38,20 +38,24 @@ type authHandler struct {
} }
func newAuthHandler(encoder encoder, log zerolog.Logger, server Server, config *domain.Config, cookieStore *sessions.CookieStore, service authService) *authHandler { func newAuthHandler(encoder encoder, log zerolog.Logger, server Server, config *domain.Config, cookieStore *sessions.CookieStore, service authService) *authHandler {
oidcHandler, err := auth.NewOIDCHandler(config, log) h := &authHandler{
if err != nil {
log.Error().Err(err).Msg("failed to initialize OIDC handler")
}
return &authHandler{
log: log, log: log,
encoder: encoder, encoder: encoder,
config: config, config: config,
service: service, service: service,
cookieStore: cookieStore, cookieStore: cookieStore,
server: server, server: server,
oidcHandler: oidcHandler,
} }
if config.OIDCEnabled {
oidcHandler, err := auth.NewOIDCHandler(config, log)
if err != nil {
log.Error().Err(err).Msg("failed to initialize OIDC handler")
}
h.oidcHandler = oidcHandler
}
return h
} }
func (h authHandler) Routes(r chi.Router) { func (h authHandler) Routes(r chi.Router) {
@ -59,11 +63,13 @@ func (h authHandler) Routes(r chi.Router) {
r.Post("/onboard", h.onboard) r.Post("/onboard", h.onboard)
r.Get("/onboard", h.canOnboard) r.Get("/onboard", h.canOnboard)
if h.config.OIDCEnabled {
r.Route("/oidc", func(r chi.Router) { r.Route("/oidc", func(r chi.Router) {
r.Use(middleware.ThrottleBacklog(1, 1, time.Second)) r.Use(middleware.ThrottleBacklog(1, 1, time.Second))
r.Get("/config", h.getOIDCConfig) r.Get("/config", h.getOIDCConfig)
r.Get("/callback", h.handleOIDCCallback) r.Get("/callback", h.handleOIDCCallback)
}) })
}
// Group for authenticated routes // Group for authenticated routes
r.Group(func(r chi.Router) { r.Group(func(r chi.Router) {