From c5e0c869e27b77adc34ea266ba7e7c5bdf28bfc6 Mon Sep 17 00:00:00 2001 From: Ludovit Mikula Date: Fri, 10 Nov 2023 22:08:22 +0100 Subject: [PATCH 1/2] Add handling for access token that enver expire (ex: GITHUB) (#492) Co-authored-by: Abdul Qadir Co-authored-by: Falk Wolsky --- .../domain/user/model/ConnectionAuthToken.java | 15 +++++++++++++-- .../filter/UserSessionPersistenceFilter.java | 3 +++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/user/model/ConnectionAuthToken.java b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/user/model/ConnectionAuthToken.java index fb0dc8325..7e16f0f1b 100644 --- a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/user/model/ConnectionAuthToken.java +++ b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/user/model/ConnectionAuthToken.java @@ -30,11 +30,22 @@ public boolean isRefreshTokenExpired() { } public static ConnectionAuthToken of(AuthToken token) { + + Long accessTokenExpiry = 0L; + if(token.getExpireIn() != 0) { + accessTokenExpiry = System.currentTimeMillis() / 1000 + token.getExpireIn() - 60; + } + + Long refreshTokenExpiry = 0L; + if(token.getRefreshTokenExpireIn() != 0) { + refreshTokenExpiry = System.currentTimeMillis() / 1000 + token.getRefreshTokenExpireIn() - 60; + } + return ConnectionAuthToken.builder() .accessToken(token.getAccessToken()) - .expireAt(System.currentTimeMillis() / 1000 + token.getExpireIn() - 60) + .expireAt(accessTokenExpiry) .refreshToken(token.getRefreshToken()) - .refreshTokenExpireAt(System.currentTimeMillis() / 1000 + token.getRefreshTokenExpireIn() - 60) + .refreshTokenExpireAt(refreshTokenExpiry) .source(null) .build(); } diff --git a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/framework/filter/UserSessionPersistenceFilter.java b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/framework/filter/UserSessionPersistenceFilter.java index 77d28486f..a5f40d45f 100644 --- a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/framework/filter/UserSessionPersistenceFilter.java +++ b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/framework/filter/UserSessionPersistenceFilter.java @@ -59,6 +59,9 @@ public Mono filter(@Nonnull ServerWebExchange exchange, WebFilterChain cha user.getConnections().forEach(connection -> { if(!connection.getAuthId().equals(DEFAULT_AUTH_CONFIG.getId())) { Instant next5Minutes = Instant.now().plusSeconds( 300 ); + if(connection.getAuthConnectionAuthToken().getExpireAt() == 0) { + return; + } boolean isAccessTokenExpiryNear = (connection.getAuthConnectionAuthToken().getExpireAt()*1000) <= next5Minutes.toEpochMilli(); if(isAccessTokenExpiryNear) { connection.getOrgIds().forEach(orgId -> { From 8571c48a264703771e681a4905abfba36d0ad067 Mon Sep 17 00:00:00 2001 From: RAHEEL Date: Mon, 13 Nov 2023 14:08:17 +0500 Subject: [PATCH 2/2] fix: auth register blank page fix --- client/packages/lowcoder/src/pages/userAuth/register.tsx | 5 ----- 1 file changed, 5 deletions(-) diff --git a/client/packages/lowcoder/src/pages/userAuth/register.tsx b/client/packages/lowcoder/src/pages/userAuth/register.tsx index 1d73b79de..7d2701a60 100644 --- a/client/packages/lowcoder/src/pages/userAuth/register.tsx +++ b/client/packages/lowcoder/src/pages/userAuth/register.tsx @@ -69,11 +69,6 @@ function UserRegister() { fetchUserAfterAuthSuccess, ); - - if (!systemConfig || !systemConfig?.form.enableRegister) { - return null; - } - const registerHeading = trans("userAuth.register") // REACT_APP_LOWCODER_CUSTOM_AUTH_WELCOME_TEXT !== "" ? REACT_APP_LOWCODER_CUSTOM_AUTH_WELCOME_TEXT : trans("userAuth.register") const registerSubHeading = '' // REACT_APP_LOWCODER_CUSTOM_AUTH_WELCOME_TEXT !== "" ? trans("userAuth.poweredByLowcoder") : ''