domain/identity/service.go (view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | package identity
import (
"alin.ovh/x/log"
"alin.ovh/homestead/domain/identity/oidc"
"alin.ovh/homestead/domain/identity/webfinger"
"alin.ovh/homestead/shared/http"
)
type Service struct {
oidc *oidc.Service
webfinger *webfinger.Service
log *log.Logger
}
func New(cfg oidc.Config, logger *log.Logger) *Service {
oidcService := oidc.New(cfg, logger.Named("oidc"))
webfingerService := webfinger.New(
logger.Named("webfinger"),
[]webfinger.ResourceProvider{oidcService},
)
return &Service{
oidc: oidcService,
webfinger: webfingerService,
log: logger,
}
}
func (s *Service) RegisterHandlers(mux *http.ServeMux) {
s.oidc.RegisterHandlers(mux)
s.webfinger.RegisterHandlers(mux)
}
func (s *Service) GetOIDCService() *oidc.Service {
return s.oidc
}
func (s *Service) GetWebFingerService() *webfinger.Service {
return s.webfinger
}
|