package auth // UserRoleSeeder is an optional interface for providers that can enumerate all users. // Used to pre-populate the role store at startup so permissions work after restart. type UserRoleSeeder interface { AllUsers() []string } // SecurityWarner is an optional interface for providers that detect insecure // configuration (plaintext or default credentials); main logs each warning at // startup. type SecurityWarner interface { SecurityWarnings() []string } // AuthProvider is the interface for authentication strategies. type AuthProvider interface { Authenticate(username, password string) error GetUserRoles(username string) []string Name() string }