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 = `QR Code`; + } + + // 设置三分钟后 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"})