浏览代码

revoke all user tokens

abhishek9686 5 月之前
父节点
当前提交
623ef57a95
共有 1 个文件被更改,包括 19 次插入1 次删除
  1. 19 1
      logic/auth.go

+ 19 - 1
logic/auth.go

@@ -145,6 +145,24 @@ func RevokeAccessToken(a models.AccessToken) error {
 	}
 	}
 	return nil
 	return nil
 }
 }
+func RevokeAllUserTokens(username string) {
+	collection, err := database.FetchRecords(database.USERS_TABLE_NAME)
+	if err != nil {
+		return
+	}
+
+	for key, value := range collection {
+
+		var a models.AccessToken
+		err = json.Unmarshal([]byte(value), &a)
+		if err != nil {
+			continue // get users
+		}
+		if a.UserName == username {
+			database.DeleteRecord(database.ACCESS_TOKENS_TABLE_NAME, key)
+		}
+	}
+}
 
 
 func ListAccessTokens(username string) (tokens []models.AccessToken) {
 func ListAccessTokens(username string) (tokens []models.AccessToken) {
 	collection, err := database.FetchRecords(database.USERS_TABLE_NAME)
 	collection, err := database.FetchRecords(database.USERS_TABLE_NAME)
@@ -404,7 +422,7 @@ func DeleteUser(user string) (bool, error) {
 		return false, err
 		return false, err
 	}
 	}
 	go RemoveUserFromAclPolicy(user)
 	go RemoveUserFromAclPolicy(user)
-
+	go RevokeAllUserTokens(user)
 	return true, nil
 	return true, nil
 }
 }