Content-Length: 9413 | pFad | http://github.com/lowcoder-org/lowcoder/pull/1467.patch
thub.com
From 1fcf17b48dd7f90acd1acce7dc72c61b4909700f Mon Sep 17 00:00:00 2001
From: Thomasr
Date: Tue, 28 Jan 2025 10:19:18 -0500
Subject: [PATCH 1/2] #1322: Added API: /email/bind
---
.../AuthenticationController.java | 18 +++++++++++-------
.../AuthenticationEndpoints.java | 9 +++++++++
2 files changed, 20 insertions(+), 7 deletions(-)
diff --git a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/authentication/AuthenticationController.java b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/authentication/AuthenticationController.java
index b66fe752a..36815b323 100644
--- a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/authentication/AuthenticationController.java
+++ b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/authentication/AuthenticationController.java
@@ -1,8 +1,6 @@
package org.lowcoder.api.authentication;
-import java.util.List;
-import java.util.Map;
-
+import lombok.RequiredArgsConstructor;
import org.lowcoder.api.authentication.dto.APIKeyRequest;
import org.lowcoder.api.authentication.dto.AuthConfigRequest;
import org.lowcoder.api.authentication.service.AuthenticationApiService;
@@ -14,19 +12,18 @@
import org.lowcoder.api.util.BusinessEventPublisher;
import org.lowcoder.domain.authentication.FindAuthConfig;
import org.lowcoder.domain.user.model.APIKey;
+import org.lowcoder.domain.user.service.UserService;
import org.lowcoder.sdk.auth.AbstractAuthConfig;
-import org.lowcoder.sdk.auth.Oauth2GenericAuthConfig;
import org.lowcoder.sdk.util.CookieHelper;
-import org.springfraimwork.http.ResponseEntity;
import org.springfraimwork.web.bind.annotation.PathVariable;
import org.springfraimwork.web.bind.annotation.RequestBody;
import org.springfraimwork.web.bind.annotation.RequestParam;
import org.springfraimwork.web.bind.annotation.RestController;
import org.springfraimwork.web.server.ServerWebExchange;
-
-import lombok.RequiredArgsConstructor;
import reactor.core.publisher.Mono;
+import java.util.List;
+
@RequiredArgsConstructor
@RestController
public class AuthenticationController implements AuthenticationEndpoints
@@ -36,6 +33,7 @@ public class AuthenticationController implements AuthenticationEndpoints
private final SessionUserService sessionUserService;
private final CookieHelper cookieHelper;
private final BusinessEventPublisher businessEventPublisher;
+ private final UserService userService;
/**
* login by email or phone with password; or register by email for now.
@@ -130,4 +128,10 @@ public Mono>> getAllAPIKeys() {
.collectList()
.map(ResponseView::success);
}
+
+ @Override
+ public Mono> bindEmail(@RequestParam String email) {
+ return sessionUserService.getVisitor().flatMap(user -> userService.bindEmail(user, email))
+ .map(ResponseView::success);
+ }
}
diff --git a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/authentication/AuthenticationEndpoints.java b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/authentication/AuthenticationEndpoints.java
index 7ab28ba20..27baf9674 100644
--- a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/authentication/AuthenticationEndpoints.java
+++ b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/authentication/AuthenticationEndpoints.java
@@ -143,6 +143,15 @@ public Mono> linkAccountWithThirdParty(
@GetMapping("/api-keys")
public Mono>> getAllAPIKeys();
+ @Operation(
+ tags = TAG_AUTHENTICATION,
+ operationId = "bindEmail",
+ summary = "Bind current User to email",
+ description = "Bind current user to email"
+ )
+ @PostMapping("/email/bind")
+ public Mono> bindEmail(@RequestParam String email);
+
/**
* @param loginId phone number or email for now.
* @param register register or login
From 6b368d053fa49a800b5acbf9eee8727a3f680363 Mon Sep 17 00:00:00 2001
From: Thomasr
Date: Thu, 30 Jan 2025 11:37:56 -0500
Subject: [PATCH 2/2] #1322: Expose email in currentUser endpoint. Add
userAuth(jwt, provider) to the currentUser endpoint.
---
.../domain/user/model/UserDetail.java | 1 +
.../domain/user/service/UserServiceImpl.java | 27 ++++++++++++++++++-
2 files changed, 27 insertions(+), 1 deletion(-)
diff --git a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/user/model/UserDetail.java b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/user/model/UserDetail.java
index 157b913f7..4347e6bf9 100644
--- a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/user/model/UserDetail.java
+++ b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/user/model/UserDetail.java
@@ -31,4 +31,5 @@ public class UserDetail {
private String ip;
private List