diff --git a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/authentication/request/oauth2/request/AbstractOauth2Request.java b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/authentication/request/oauth2/request/AbstractOauth2Request.java index c3214745a..b394556fb 100644 --- a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/authentication/request/oauth2/request/AbstractOauth2Request.java +++ b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/authentication/request/oauth2/request/AbstractOauth2Request.java @@ -39,11 +39,7 @@ public Mono auth(AuthRequestContext authRequestContext) { public Mono refresh(String refreshToken) { return refreshAuthToken(refreshToken) - .flatMap(authToken -> getAuthUser(authToken).doOnNext(authUser -> { - assert authUser.getAuthToken() != null; - authUser.getAuthToken().setAccessToken(authToken.getAccessToken()); - authUser.getAuthToken().setExpireIn(authToken.getExpireIn()); - })) + .flatMap(authToken -> getAuthUser(authToken).doOnNext(authUser -> authUser.setAuthToken(authToken))) .onErrorResume(throwable -> { log.error("failed to refresh token: ", throwable); return deferredError(FAIL_TO_GET_OIDC_INFO, "FAIL_TO_GET_OIDC_INFO", throwable.getMessage()); diff --git a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/authentication/service/AuthenticationApiServiceImpl.java b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/authentication/service/AuthenticationApiServiceImpl.java index b9175dd6d..4b67de89c 100644 --- a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/authentication/service/AuthenticationApiServiceImpl.java +++ b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/authentication/service/AuthenticationApiServiceImpl.java @@ -206,16 +206,16 @@ public void updateConnection(AuthUser authUser, User user) { // clean old data oldConnection.setAuthId(authUser.getAuthContext().getAuthConfig().getId()); - // Save the auth token which may be used in the future datasource or query. - oldConnection.setAuthConnectionAuthToken( - Optional.ofNullable(authUser.getAuthToken()).map(ConnectionAuthToken::of).orElse(null)); - oldConnection.setRawUserInfo(authUser.getRawUserInfo()); - //if auth by google, set refresh token if (authUser.getAuthToken()!=null && oldConnection.getAuthConnectionAuthToken()!=null && StringUtils.isEmpty(authUser.getAuthToken().getRefreshToken()) && StringUtils.isNotEmpty(oldConnection.getAuthConnectionAuthToken().getRefreshToken())) { authUser.getAuthToken().setRefreshToken(oldConnection.getAuthConnectionAuthToken().getRefreshToken()); } + // Save the auth token which may be used in the future datasource or query. + oldConnection.setAuthConnectionAuthToken( + Optional.ofNullable(authUser.getAuthToken()).map(ConnectionAuthToken::of).orElse(null)); + oldConnection.setRawUserInfo(authUser.getRawUserInfo()); + user.setActiveAuthId(oldConnection.getAuthId()); }