github.com/kyleu/dbaudit@v0.0.2-0.20240321155047-ff2f2c940496/app/lib/auth/service.go (about)

     1  // Package auth - Content managed by Project Forge, see [projectforge.md] for details.
     2  package auth
     3  
     4  import (
     5  	"github.com/kyleu/dbaudit/app/util"
     6  )
     7  
     8  type Service struct {
     9  	baseURL   string
    10  	port      uint16
    11  	providers Providers
    12  }
    13  
    14  func NewService(baseURL string, port uint16, logger util.Logger) *Service {
    15  	ret := &Service{baseURL: baseURL, port: port}
    16  	_ = ret.load(logger)
    17  	return ret
    18  }
    19  
    20  func (s *Service) LoginURL() string {
    21  	if len(s.providers) == 1 {
    22  		return "/auth/" + s.providers[0].ID
    23  	}
    24  	return defaultProfilePath
    25  }