OAuth2Controller.java 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. package cn.cslg.pas.controller;
  2. import cn.cslg.pas.common.core.base.Constants;
  3. import cn.cslg.pas.common.utils.Response;
  4. import cn.cslg.pas.service.OAuth2Service;
  5. import cn.dev33.satoken.stp.StpUtil;
  6. import io.swagger.v3.oas.annotations.Operation;
  7. import io.swagger.v3.oas.annotations.responses.ApiResponse;
  8. import io.swagger.v3.oas.annotations.security.SecurityRequirement;
  9. import io.swagger.v3.oas.annotations.tags.Tag;
  10. import lombok.RequiredArgsConstructor;
  11. import org.springframework.context.annotation.Lazy;
  12. import org.springframework.web.bind.annotation.GetMapping;
  13. import org.springframework.web.bind.annotation.PostMapping;
  14. import org.springframework.web.bind.annotation.RequestMapping;
  15. import org.springframework.web.bind.annotation.RestController;
  16. import javax.servlet.http.HttpServletRequest;
  17. import javax.servlet.http.HttpServletResponse;
  18. import java.io.IOException;
  19. @Tag(name = "登录与用户信息")
  20. @RestController
  21. @RequestMapping(Constants.API_VERSION_V2 + "/oauth2")
  22. @RequiredArgsConstructor(onConstructor_ = {@Lazy})
  23. public class OAuth2Controller {
  24. private final OAuth2Service oAuth2Service;
  25. @GetMapping("userinfo")
  26. @Operation(summary = "获取用户信息")
  27. public String userinfo() {
  28. return Response.success(oAuth2Service.getUserinfo());
  29. }
  30. @GetMapping("permissions")
  31. @Operation(summary = "获取用户专题库权限")
  32. public String getPermissions() {
  33. return Response.success(oAuth2Service.getPermissions());
  34. }
  35. @PostMapping("token")
  36. @Operation(summary = "用户登录")
  37. public String getTokenByUsername(String username, String password, String code, String uuid) throws IOException {
  38. // return oAuth2Service.getTokenByUsername(username, password, code, uuid);
  39. return oAuth2Service.login(username,password,code,uuid);
  40. }
  41. @GetMapping("verifyCode")
  42. @Operation(summary = "获取登录验证码")
  43. public String getVerifyCode(HttpServletRequest request, HttpServletResponse response) throws Exception {
  44. // return oAuth2Service.getVerifyCode(request, response);
  45. return oAuth2Service.verifyCode();
  46. }
  47. @PostMapping("changePwd")
  48. @Operation(summary = "用户修改密码")
  49. public String changePwd(String oldPassword, String newPassword) {
  50. return oAuth2Service.changePwd(oldPassword, newPassword);
  51. }
  52. @PostMapping("logout")
  53. @Operation(summary = "退出登录")
  54. public String logout() {
  55. StpUtil.logout();
  56. return Response.success(true);
  57. }
  58. }