wangrong
2026-08-30 4c949c0dc9bcae785c281c9d8125295f09810b15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
package io.dataease.api.permissions.login.api;
 
 
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import io.dataease.api.permissions.login.dto.MfaLoginDTO;
import io.dataease.api.permissions.login.dto.PwdLoginDTO;
import io.dataease.api.permissions.login.vo.MfaQrVO;
import io.dataease.api.permissions.user.dto.ModifyPwdRequest;
import io.dataease.auth.vo.TokenVO;
import io.swagger.v3.oas.annotations.Hidden;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
 
/**
 * 登录其实就是获得token的过程,最后把token返回到前端
 * 本地登录:账号密码获取用户获取token
 * oidc登录:回调请求头部X-Userinfo中获取用户 根据用户信息(没有就新建用户)再换取token
 */
@Tag(name = "登录")
@ApiSupport(order = 889, author = "fit2cloud-someone")
public interface LoginApi {
    /**
     * 本地登录
     *
     * @param dto
     */
    @Operation(summary = "本地登录")
    @ApiOperationSupport(order = 1)
    @PostMapping("/login/localLogin")
    TokenVO localLogin(@Valid @RequestBody PwdLoginDTO dto);
 
    @Operation(summary = "token续命", hidden = true)
    @ApiOperationSupport(order = 2)
    @GetMapping("/login/refresh")
    TokenVO refresh();
 
    @Operation(summary = "第三方登录", hidden = true)
    @ApiOperationSupport(order = 3)
    @PostMapping("/login/platformLogin/{origin}")
    TokenVO platformLogin(@PathVariable("origin") Integer origin);
 
    @Operation(summary = "登出")
    @ApiOperationSupport(order = 4)
    @GetMapping("/logout")
    void logout();
 
    @Operation(summary = "MFA二维码信息")
    @ApiOperationSupport(order = 5)
    @PostMapping("/mfa/qr/{id}")
    MfaQrVO mfaQr(@PathVariable("id") Long id);
 
    @Operation(summary = "MFA登录")
    @ApiOperationSupport(order = 6)
    @PostMapping("/mfa/login")
    TokenVO mfaLogin(@RequestBody MfaLoginDTO dto);
 
    @Operation(summary = "修改无效密码", hidden = true)
    @PostMapping("/login/modifyInvalidPwd")
    void modifyInvalidPwd(@RequestBody ModifyPwdRequest request);
}