Add admin user config (#36)

This commit is contained in:
Jonas Plum
2022-03-01 01:01:59 +01:00
committed by GitHub
parent ffba7b4f5f
commit eced5df7c8
2 changed files with 18 additions and 1 deletions

17
auth.go
View File

@@ -32,6 +32,7 @@ type AuthConfig struct {
OIDCClaimName string
AuthBlockNew bool
AuthDefaultRoles []role.Role
AuthAdminUsers []string
provider *oidc.Provider
}
@@ -267,16 +268,30 @@ func mapUserAndSettings(claims map[string]interface{}, config *AuthConfig) (*mod
name = ""
}
var roles = role.Strings(config.AuthDefaultRoles)
if contains(config.AuthAdminUsers, username) {
roles = append(roles, role.Admin)
}
return &model.UserForm{
ID: username,
Blocked: config.AuthBlockNew,
Roles: role.Strings(config.AuthDefaultRoles),
Roles: roles,
}, &model.UserData{
Email: &email,
Name: &name,
}, nil
}
func contains(l []string, s string) bool {
for _, e := range l {
if e == s {
return true
}
}
return false
}
func getString(m map[string]interface{}, key string) (string, error) {
if v, ok := m[key]; ok {
if s, ok := v.(string); ok {