Implement Auth

This commit is contained in:
hou27
2022-06-10 22:17:55 +09:00
parent c51cf8b525
commit f307710223
14 changed files with 191 additions and 87 deletions

View File

@@ -0,0 +1,49 @@
package demo.api.auth;
import demo.api.jwt.dtos.TokenDto;
import demo.api.user.domain.User;
import demo.api.user.dtos.UserSignInRequest;
import demo.api.user.dtos.UserSignUpRequest;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
@Controller
@RequestMapping("/auth")
@RequiredArgsConstructor
public class AuthController {
private final AuthService authService;
@GetMapping("/signUp")
public String signUp() {
return "user/signUp";
}
@PostMapping("/signUp")
public String signUp(@Validated UserSignUpRequest signUpReq) throws Exception {
User user = authService.signUp(signUpReq);
if(user.getEmail() != "") {
return "redirect:/user/signIn";
}
return "redirect:/user/signUp";
}
@GetMapping("/signIn")
public String signIn(@RequestParam(value = "fail", required = false) String flag, Model model) {
model.addAttribute("failed", flag != null);
return "user/signIn";
}
@PostMapping
public TokenDto signIn(@Validated UserSignInRequest signInReq) {
return authService.signIn(signInReq);
}
}