【发布时间】:2020-03-10 14:15:36
【问题描述】:
我一直在使用 Spring Boot 和 FLutter。我正在使用password-reset 功能。我希望当用户请求重置密码时,会向用户的电子邮件地址发送一封电子邮件,点击 link 后,后端服务将验证 token 并重定向到颤振应用页面,其中用户可以输入新密码。
一切顺利,但我无法重定向到颤振网页。
Controller.java
@RequestMapping(value = "/forgot-password", method = RequestMethod.POST)
public String forgotUserPassword(@RequestParam("emailId") String emailId) {
User existingUser = userRepository.findByEmailIdIgnoreCase(emailId);
if (existingUser != null) {
ConfirmationToken confirmationToken = new ConfirmationToken(existingUser);
confirmationTokenRepository.save(confirmationToken);
SimpleMailMessage mailMessage = new SimpleMailMessage();
mailMessage.setTo(existingUser.getEmailId());
mailMessage.setSubject("Complete Password Reset!");
mailMessage.setFrom("abc@gmail.com");
mailMessage.setText("Dear " + existingUser.getFirstName().toUpperCase() + " " + existingUser.getLastName().toUpperCase() + ",\n\n" + "You have requested to reset password. To complete the password reset process, please click here: "
+ "http://localhost:8082/confirm-reset?token=" + confirmationToken.getConfirmationToken()");
emailSenderService.sendEmail(mailMessage);
return "Request to reset password received. Check your inbox for the reset link.";
} else {
return "This email does not exist!";
}
}
String emailByPasswordRestToken = null;
@RequestMapping(value = "/confirm-reset", method = {RequestMethod.GET, RequestMethod.POST})
public String validateResetToken(@RequestParam("token") String confirmationToken) {
ConfirmationToken token = confirmationTokenRepository.findByConfirmationToken(confirmationToken);
if (token != null) {
User user = userRepository.findByEmailIdIgnoreCase(token.getUser().getEmailId());
user.setEnabled(true);
userRepository.save(user);
emailByPasswordRestToken = user.getEmailId();
return "valid token";
//here it should return and redirect to the activity of flutter app automatically to enter the `New Password`.
} else {
return "This link is broken or expired.";
}
}
请问我该怎么做。
【问题讨论】:
标签: spring spring-boot flutter spring-security flutter-web