AuthenticationController.java 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package com.njuzr.eaibackend.controller;
  2. import com.njuzr.eaibackend.dto.auth.EmailLoginDTO;
  3. import com.njuzr.eaibackend.dto.auth.UserLoginDTO;
  4. import com.njuzr.eaibackend.service.AuthenticationService;
  5. import lombok.extern.slf4j.Slf4j;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.web.bind.annotation.*;
  8. @Slf4j
  9. @RestController
  10. @CrossOrigin
  11. @RequestMapping("/api/auth")
  12. public class AuthenticationController {
  13. @Autowired
  14. private AuthenticationService authenticationService;
  15. /**
  16. * 用户登陆学号(officialNumber)和密码(password)进行登陆
  17. *
  18. * @param userLoginDTO officialNumber、password
  19. * @return 如果成功登陆,则返回登陆用户的身份信息和Token;如果失败,则返回具体原因。
  20. */
  21. @PostMapping("/login")
  22. public MyResponse login(@RequestBody UserLoginDTO userLoginDTO) {
  23. return authenticationService.login(userLoginDTO);
  24. }
  25. /**
  26. * 邮箱验证登录
  27. *
  28. * @param emailLoginDTO officialEmail、verifyCode
  29. * @return 如果成功登陆,则返回登陆用户的身份信息和Token;如果失败,则返回具体原因。
  30. */
  31. @PostMapping("/loginByEmail")
  32. public MyResponse loginByEmail(@RequestBody EmailLoginDTO emailLoginDTO) {
  33. return authenticationService.loginByEmail(emailLoginDTO);
  34. }
  35. /**
  36. * 通门户登录
  37. *
  38. * @param token id_token
  39. * @return 如果成功登陆,则返回登陆用户的身份信息和Token;如果失败,则返回具体原因。
  40. */
  41. @GetMapping("/loginByPortal")
  42. public MyResponse loginByPortal(@RequestParam(value = "id_token") String token) {
  43. return authenticationService.loginByPortal(token);
  44. }
  45. @GetMapping("/token")
  46. public MyResponse authToken(@RequestParam("token") String token){
  47. return authenticationService.loginByPortal(token);
  48. }
  49. }