Quellcode durchsuchen

add user role as service user if empty

abhishek9686 vor 1 Jahr
Ursprung
Commit
7b0906ac62
6 geänderte Dateien mit 16 neuen und 1 gelöschten Zeilen
  1. 3 0
      controllers/user.go
  2. 1 1
      logic/user_mgmt.go
  3. 3 0
      pro/auth/azure-ad.go
  4. 3 0
      pro/auth/github.go
  5. 3 0
      pro/auth/google.go
  6. 3 0
      pro/auth/oidc.go

+ 3 - 0
controllers/user.go

@@ -1124,6 +1124,9 @@ func userInviteSignUp(w http.ResponseWriter, r *http.Request) {
 		user.PlatformRoleID = userG.PlatformRole
 		user.UserGroups[inviteGroupID] = struct{}{}
 	}
+	if user.PlatformRoleID == "" {
+		user.PlatformRoleID = models.ServiceUser
+	}
 	user.NetworkRoles = make(map[models.NetworkID]map[models.UserRole]struct{})
 	err = logic.CreateUser(&user)
 	if err != nil {

+ 1 - 1
logic/user_mgmt.go

@@ -139,7 +139,7 @@ func GetRole(roleID models.UserRole) (models.UserRolePermissionTemplate, error)
 	// check if role already exists
 	data, err := database.FetchRecord(database.USER_PERMISSIONS_TABLE_NAME, roleID.String())
 	if err != nil {
-		return models.UserRolePermissionTemplate{}, errors.New("role already exists")
+		return models.UserRolePermissionTemplate{}, err
 	}
 	ur := models.UserRolePermissionTemplate{}
 	err = json.Unmarshal([]byte(data), &ur)

+ 3 - 0
pro/auth/azure-ad.go

@@ -107,6 +107,9 @@ func handleAzureCallback(w http.ResponseWriter, r *http.Request) {
 					user.PlatformRoleID = userG.PlatformRole
 					user.UserGroups[inviteGroupID] = struct{}{}
 				}
+				if user.PlatformRoleID == "" {
+					user.PlatformRoleID = models.ServiceUser
+				}
 				if err = logic.CreateUser(user); err != nil {
 					handleSomethingWentWrong(w)
 					return

+ 3 - 0
pro/auth/github.go

@@ -107,6 +107,9 @@ func handleGithubCallback(w http.ResponseWriter, r *http.Request) {
 					user.PlatformRoleID = userG.PlatformRole
 					user.UserGroups[inviteGroupID] = struct{}{}
 				}
+				if user.PlatformRoleID == "" {
+					user.PlatformRoleID = models.ServiceUser
+				}
 				if err = logic.CreateUser(user); err != nil {
 					handleSomethingWentWrong(w)
 					return

+ 3 - 0
pro/auth/google.go

@@ -108,6 +108,9 @@ func handleGoogleCallback(w http.ResponseWriter, r *http.Request) {
 					user.PlatformRoleID = userG.PlatformRole
 					user.UserGroups[inviteGroupID] = struct{}{}
 				}
+				if user.PlatformRoleID == "" {
+					user.PlatformRoleID = models.ServiceUser
+				}
 				if err = logic.CreateUser(user); err != nil {
 					handleSomethingWentWrong(w)
 					return

+ 3 - 0
pro/auth/oidc.go

@@ -119,6 +119,9 @@ func handleOIDCCallback(w http.ResponseWriter, r *http.Request) {
 					user.PlatformRoleID = userG.PlatformRole
 					user.UserGroups[inviteGroupID] = struct{}{}
 				}
+				if user.PlatformRoleID == "" {
+					user.PlatformRoleID = models.ServiceUser
+				}
 				if err = logic.CreateUser(user); err != nil {
 					handleSomethingWentWrong(w)
 					return