mirror of
https://github.com/dataease/dataease.git
synced 2025-02-24 11:32:57 +08:00
perf(X-Pack): 本地用户登录 MFA 二次校验
This commit is contained in:
parent
3fa3e404bb
commit
6f9728d15b
BIN
core/core-frontend/src/assets/authenticator_android.png
Normal file
BIN
core/core-frontend/src/assets/authenticator_android.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.8 KiB |
BIN
core/core-frontend/src/assets/authenticator_iphone.png
Normal file
BIN
core/core-frontend/src/assets/authenticator_iphone.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 30 KiB |
2
de-xpack
2
de-xpack
@ -1 +1 @@
|
|||||||
Subproject commit d3b0867dda8112d038fc4aec5845391ffc2202eb
|
Subproject commit cac37fbedde6e095a2c0b52326336a969e102b24
|
@ -3,7 +3,9 @@ package io.dataease.api.permissions.login.api;
|
|||||||
|
|
||||||
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
|
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
|
||||||
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
|
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.dto.PwdLoginDTO;
|
||||||
|
import io.dataease.api.permissions.login.vo.MfaQrVO;
|
||||||
import io.dataease.auth.vo.TokenVO;
|
import io.dataease.auth.vo.TokenVO;
|
||||||
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
@ -45,4 +47,10 @@ public interface LoginApi {
|
|||||||
@GetMapping("/logout")
|
@GetMapping("/logout")
|
||||||
void logout();
|
void logout();
|
||||||
|
|
||||||
|
@PostMapping("/mfa/qr/{id}")
|
||||||
|
MfaQrVO mfaQr(@PathVariable("id") Long id);
|
||||||
|
|
||||||
|
@PostMapping("/mfa/login")
|
||||||
|
TokenVO mfaLogin(@RequestBody MfaLoginDTO dto);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,18 @@
|
|||||||
|
package io.dataease.api.permissions.login.dto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serial;
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class MfaLoginDTO implements Serializable {
|
||||||
|
@Serial
|
||||||
|
private static final long serialVersionUID = -8218773323394184937L;
|
||||||
|
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
private String code;
|
||||||
|
|
||||||
|
private String key;
|
||||||
|
}
|
@ -0,0 +1,16 @@
|
|||||||
|
package io.dataease.api.permissions.login.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serial;
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class MfaQrVO implements Serializable {
|
||||||
|
@Serial
|
||||||
|
private static final long serialVersionUID = -3465640829593927730L;
|
||||||
|
|
||||||
|
private String img;
|
||||||
|
|
||||||
|
private String key;
|
||||||
|
}
|
@ -1,5 +1,7 @@
|
|||||||
package io.dataease.auth.vo;
|
package io.dataease.auth.vo;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
@ -13,4 +15,7 @@ public class MfaItem implements Serializable {
|
|||||||
private boolean enabled;
|
private boolean enabled;
|
||||||
|
|
||||||
private boolean ready;
|
private boolean ready;
|
||||||
|
|
||||||
|
@JsonSerialize(using= ToStringSerializer.class)
|
||||||
|
private Long uid;
|
||||||
}
|
}
|
||||||
|
@ -78,6 +78,8 @@ public class WhitelistUtils {
|
|||||||
|| StringUtils.startsWithAny(requestURI, "/websocket")
|
|| StringUtils.startsWithAny(requestURI, "/websocket")
|
||||||
|| StringUtils.startsWithAny(requestURI, "/map/")
|
|| StringUtils.startsWithAny(requestURI, "/map/")
|
||||||
|| StringUtils.startsWithAny(requestURI, "/oauth2/")
|
|| StringUtils.startsWithAny(requestURI, "/oauth2/")
|
||||||
|
|| StringUtils.startsWithAny(requestURI, "/mfa/qr/")
|
||||||
|
|| StringUtils.startsWithAny(requestURI, "/mfa/login")
|
||||||
|| StringUtils.startsWithAny(requestURI, "/typeface/download")
|
|| StringUtils.startsWithAny(requestURI, "/typeface/download")
|
||||||
|| StringUtils.startsWithAny(requestURI, "/typeface/defaultFont")
|
|| StringUtils.startsWithAny(requestURI, "/typeface/defaultFont")
|
||||||
|| StringUtils.startsWithAny(requestURI, "/typeface/listFont")
|
|| StringUtils.startsWithAny(requestURI, "/typeface/listFont")
|
||||||
|
Loading…
Reference in New Issue
Block a user