PasswordValidationController.java
/*
* Copyright (C) 2023 B3Partners B.V.
*
* SPDX-License-Identifier: MIT
*/
package org.tailormap.api.controller;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.Serializable;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.tailormap.api.configuration.TailormapPasswordStrengthConfig;
import org.tailormap.api.util.TMPasswordDeserializer;
@RestController
public class PasswordValidationController {
@PostMapping(path = "${tailormap-api.base-path}/validate-password")
public ResponseEntity<Serializable> test(@RequestParam String password) {
int minLength = TailormapPasswordStrengthConfig.getMinLength();
int minStrength = TailormapPasswordStrengthConfig.getMinStrength();
boolean result = TMPasswordDeserializer.validatePasswordStrength(password, minLength, minStrength);
return ResponseEntity.ok(new ObjectMapper().createObjectNode().put("result", result));
}
}