New option to enable local auth for everyone

This commit is contained in:
nemunaire 2022-09-07 14:08:23 +02:00
parent ff5cefa7ac
commit b572938283
3 changed files with 13 additions and 9 deletions

View File

@ -11,6 +11,7 @@ import (
)
var LocalAuthFunc = checkAuthKrb5
var allowLocalAuth bool
var localAuthUsers arrayFlags
type loginForm struct {

View File

@ -42,17 +42,19 @@ func checkAuthKrb5(c *gin.Context) {
return
}
found := false
for _, u := range localAuthUsers {
if lf.Login == u {
found = true
break
if !allowLocalAuth {
found := false
for _, u := range localAuthUsers {
if lf.Login == u {
found = true
break
}
}
}
if !userExists(lf.Login) && !found {
c.AbortWithStatusJSON(http.StatusForbidden, gin.H{"errmsg": "You are not allowed to log you in this way. Please use OpenID Connect."})
return
if !userExists(lf.Login) && !found {
c.AbortWithStatusJSON(http.StatusForbidden, gin.H{"errmsg": "You are not allowed to log you in this way. Please use OpenID Connect."})
return
}
}
cnf := config.New()

View File

@ -62,6 +62,7 @@ func main() {
flag.StringVar(&baseURL, "baseurl", baseURL, "URL prepended to each URL")
flag.UintVar(&currentPromo, "current-promo", currentPromo, "Year of the current promotion")
flag.UintVar(&OffsetQuestionTimer, "offset-question-timer", OffsetQuestionTimer, "Duration to wait before sending pause msg in direct mode (in milliseconds)")
flag.BoolVar(&allowLocalAuth, "allow-local-auth", false, "Allow local authentication for all users (bypass OIDC).")
flag.Var(&localAuthUsers, "local-auth-user", "Allow local authentication for this user (bypass OIDC).")
flag.Parse()