From 603c3f7a8152aee40c65df2ceda29d9e55c82d9f Mon Sep 17 00:00:00 2001
From: orangebabu <2409692770@qq.com>
Date: Thu, 15 Aug 2024 17:00:03 +0800
Subject: [PATCH] =?UTF-8?q?=E5=89=8D=E7=AB=AF=E5=B1=95=E7=A4=BA=E4=BA=8C?=
=?UTF-8?q?=E7=BB=B4=E7=A0=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../persistence/service/ScanCodeService.java | 2 +-
.../passport/login/login.component.html | 4 ++--
.../routes/passport/login/login.component.ts | 19 ++++++++++++++++---
.../web/contorller/LoginEntryPoint.java | 9 +++++++--
4 files changed, 26 insertions(+), 8 deletions(-)
diff --git a/maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/ScanCodeService.java b/maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/ScanCodeService.java
index e0c017888..79ed783b4 100644
--- a/maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/ScanCodeService.java
+++ b/maxkey-persistence/src/main/java/org/dromara/maxkey/persistence/service/ScanCodeService.java
@@ -56,7 +56,7 @@ public class ScanCodeService {
public Long createTicket() {
Long ticket = 0L;
ticket = Long.parseLong(idGenerator.generate());
- momentaryService.put(getKey(ticket), "ORCode", Duration.ofSeconds(validitySeconds));
+ momentaryService.put(getKey(ticket), "", Duration.ofSeconds(validitySeconds));
_logger.info("Ticket {} , Duration {}", ticket , Duration.ofSeconds(validitySeconds));
return ticket;
}
diff --git a/maxkey-web-frontend/maxkey-web-app/src/app/routes/passport/login/login.component.html b/maxkey-web-frontend/maxkey-web-app/src/app/routes/passport/login/login.component.html
index 6eea0463e..2ae5ef7a7 100644
--- a/maxkey-web-frontend/maxkey-web-app/src/app/routes/passport/login/login.component.html
+++ b/maxkey-web-frontend/maxkey-web-app/src/app/routes/passport/login/login.component.html
@@ -83,9 +83,9 @@
diff --git a/maxkey-web-frontend/maxkey-web-app/src/app/routes/passport/login/login.component.ts b/maxkey-web-frontend/maxkey-web-app/src/app/routes/passport/login/login.component.ts
index 82bad74cc..eed06507b 100644
--- a/maxkey-web-frontend/maxkey-web-app/src/app/routes/passport/login/login.component.ts
+++ b/maxkey-web-frontend/maxkey-web-app/src/app/routes/passport/login/login.component.ts
@@ -299,13 +299,26 @@ export class UserLoginComponent implements OnInit, OnDestroy {
}
getLoginQrCode() {
- this.qrCodeService.getLoginQrCode().subscribe(res => {
- if (res.code === 0) {
+ this.qrexpire = false;
+ this.qrCodeService.getLoginQrCode().subscribe(res => {
+ if (res.code === 0 && res.data.rqCode) { // 使用返回的 rqCode
+ const qrImageElement = document.getElementById('div_qrcodelogin');
+ if (qrImageElement) {
+ qrImageElement.innerHTML = `
`;
+ }
+
+ // 设置三分钟后 qrexpire 为 false
+ setTimeout(() => {
+ this.qrexpire = true;
+ this.cdr.detectChanges(); // 更新视图
+ }, 3 * 60 * 1000); // 180000 毫秒 = 3 分钟
}
- })
+ });
}
+
+
getQrCode(): void {
this.qrexpire = false;
if (this.interval$) {
diff --git a/maxkey-webs/maxkey-web-maxkey/src/main/java/org/dromara/maxkey/web/contorller/LoginEntryPoint.java b/maxkey-webs/maxkey-web-maxkey/src/main/java/org/dromara/maxkey/web/contorller/LoginEntryPoint.java
index 225e06e88..c7306f7aa 100644
--- a/maxkey-webs/maxkey-web-maxkey/src/main/java/org/dromara/maxkey/web/contorller/LoginEntryPoint.java
+++ b/maxkey-webs/maxkey-web-maxkey/src/main/java/org/dromara/maxkey/web/contorller/LoginEntryPoint.java
@@ -25,6 +25,8 @@ import org.dromara.maxkey.authn.LoginCredential;
import org.dromara.maxkey.authn.jwt.AuthJwt;
import org.dromara.maxkey.authn.jwt.AuthTokenService;
import org.dromara.maxkey.authn.provider.AbstractAuthenticationProvider;
+import org.dromara.maxkey.authn.session.Session;
+import org.dromara.maxkey.authn.session.SessionManager;
import org.dromara.maxkey.authn.support.kerberos.KerberosService;
import org.dromara.maxkey.authn.support.rememberme.AbstractRemeberMeManager;
import org.dromara.maxkey.authn.support.rememberme.RemeberMe;
@@ -107,6 +109,9 @@ public class LoginEntryPoint {
@Autowired
AbstractRemeberMeManager remeberMeManager;
+ @Autowired
+ SessionManager sessionManager;
+
/**
* init login
* @return
@@ -214,7 +219,7 @@ public class LoginEntryPoint {
/**
* normal
- * @param loginCredential
+ * @param credential
* @return
*/
@Operation(summary = "登录接口", description = "登录接口",method="POST")
@@ -254,7 +259,7 @@ public class LoginEntryPoint {
/**
* for congress
- * @param loginCredential
+ * @param credential
* @return
*/
@PostMapping(value={"/congress"})