From 343e1b65b9244ca0c6e25abc2643ffe1c699ff4e Mon Sep 17 00:00:00 2001 From: "Brian M. Long" Date: Mon, 24 Jan 2022 15:27:59 -0500 Subject: [PATCH] added password resetter --- .../ActivitiAppAdminPasswordFixer.java | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 src/main/java/com/inteligr8/activiti/ActivitiAppAdminPasswordFixer.java diff --git a/src/main/java/com/inteligr8/activiti/ActivitiAppAdminPasswordFixer.java b/src/main/java/com/inteligr8/activiti/ActivitiAppAdminPasswordFixer.java new file mode 100644 index 0000000..66793a7 --- /dev/null +++ b/src/main/java/com/inteligr8/activiti/ActivitiAppAdminPasswordFixer.java @@ -0,0 +1,45 @@ +package com.inteligr8.activiti; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; + +import com.activiti.domain.idm.User; +import com.activiti.service.api.UserService; + +/** + * @author brian@inteligr8.com + */ +@Component +public class ActivitiAppAdminPasswordFixer implements DataFixer { + + private final Logger logger = LoggerFactory.getLogger(this.getClass()); + + @Autowired(required = false) + private UserService userService; + + @Autowired + private TenantFinderService tenantFinderService; + + @Value("${keycloak-ext.reset.admin.username:admin@app.activiti.com}") + private String adminUsername; + + @Value("${keycloak-ext.reset.admin.password:#{null}}") + private String adminPassword; + + @Override + public void fix() { + this.logger.trace("fix()"); + + if (this.adminPassword != null) { + this.logger.info("Resetting the password for admin user '{}'", this.adminUsername); + + Long tenantId = this.tenantFinderService.findTenantId(); + User adminUser = this.userService.findUserByEmailAndTenantId(this.adminUsername, tenantId); + this.userService.changePassword(adminUser.getId(), this.adminPassword); + } + } + +}