Skip to content

Commit

Permalink
feat($auth-center): provide remote service for api-portal: save use…
Browse files Browse the repository at this point in the history
…r for registering
  • Loading branch information
johnnymillergh committed May 10, 2020
1 parent 645b91e commit f7a0d7e
Show file tree
Hide file tree
Showing 13 changed files with 128 additions and 270 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,8 @@ public class AuthenticationController {

@PostMapping("/register")
@ApiOperation(value = "/register", notes = "Register (create an account)")
public ResponseBodyBean<Object> register(@Valid @RequestBody RegisterPayload payload) {
authenticationService.register(payload);
return ResponseBodyBean.ofSuccess();
public ResponseBodyBean<Long> register(@Valid @RequestBody RegisterPayload payload) {
return ResponseBodyBean.ofSuccess(authenticationService.register(payload));
}

@PostMapping("/login")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.Size;

/**
* <h1>RegisterPayload</h1>
Expand All @@ -26,7 +25,7 @@ public class RegisterPayload {
* Email (Unique)
*/
@NotEmpty
@Size(max = 30)
@Length(max = 100)
private String email;
/**
* Password
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,9 @@ public interface AuthenticationService {
* Register.
*
* @param payload the payload
* @return the long
*/
void register(RegisterPayload payload);
Long register(RegisterPayload payload);

/**
* Login login response.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,11 @@
import com.jmsoftware.apiportal.auth.entity.LoginResponse;
import com.jmsoftware.apiportal.auth.entity.RegisterPayload;
import com.jmsoftware.apiportal.auth.service.AuthenticationService;
import com.jmsoftware.apiportal.universal.domain.UserPO;
import com.jmsoftware.apiportal.remoteapi.AuthCenterRemoteApi;
import com.jmsoftware.apiportal.universal.service.JwtService;
import com.jmsoftware.apiportal.universal.service.UserService;
import com.jmsoftware.common.domain.authcenter.user.SaveUserForRegisteringPayload;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import lombok.val;
import org.springframework.security.authentication.AuthenticationManager;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
Expand All @@ -23,22 +24,24 @@
* @author Johnny Miller (鍾俊), email: johnnysviva@outlook.com
* @date 5/8/20 2:04 PM
**/
@Slf4j
@Service
@RequiredArgsConstructor
public class AuthenticationServiceImpl implements AuthenticationService {
private final BCryptPasswordEncoder encoder;
private final AuthenticationManager authenticationManager;
private final JwtService jwtService;
private final UserService userService;
private final AuthCenterRemoteApi authCenterRemoteApi;

@Override
public void register(RegisterPayload payload) {
val userPo = new UserPO();
userPo.setUsername(payload.getUsername());
userPo.setEmail(payload.getEmail());
userPo.setPassword(encoder.encode(payload.getPassword()));
// TODO: user service should be in the `auth-center`
userService.saveUser(userPo);
public Long register(RegisterPayload payload) {
val saveUserForRegisteringPayload = new SaveUserForRegisteringPayload();
saveUserForRegisteringPayload.setUsername(payload.getUsername());
saveUserForRegisteringPayload.setEmail(payload.getEmail());
saveUserForRegisteringPayload.setEncodedPassword(encoder.encode(payload.getPassword()));
val response = authCenterRemoteApi.saveUserForRegistering(saveUserForRegisteringPayload);
log.info("Registered an new user account. User ID: {}", response.getData().getUserId());
return response.getData().getUserId();
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
import com.jmsoftware.common.domain.authcenter.role.GetRoleListByUserIdResponse;
import com.jmsoftware.common.domain.authcenter.user.GetUserByLoginTokenPayload;
import com.jmsoftware.common.domain.authcenter.user.GetUserByLoginTokenResponse;
import com.jmsoftware.common.domain.authcenter.user.SaveUserForRegisteringPayload;
import com.jmsoftware.common.domain.authcenter.user.SaveUserForRegisteringResponse;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
Expand Down Expand Up @@ -36,4 +38,13 @@ public interface AuthCenterRemoteApi {
*/
@PostMapping("/role-remote-api/get-role-list-by-user-id")
ResponseBodyBean<GetRoleListByUserIdResponse> getRoleListByUserId(@RequestBody GetRoleListByUserIdPayload payload);

/**
* Save user for registering response body bean.
*
* @param payload the payload
* @return the response body bean
*/
@PostMapping("/user-remote-api/save-user-for-registering")
ResponseBodyBean<SaveUserForRegisteringResponse> saveUserForRegistering(@RequestBody SaveUserForRegisteringPayload payload);
}

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
import com.jmsoftware.common.bean.ResponseBodyBean;
import com.jmsoftware.common.domain.authcenter.user.GetUserByLoginTokenPayload;
import com.jmsoftware.common.domain.authcenter.user.GetUserByLoginTokenResponse;
import com.jmsoftware.common.domain.authcenter.user.SaveUserForRegisteringPayload;
import com.jmsoftware.common.domain.authcenter.user.SaveUserForRegisteringResponse;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
Expand Down Expand Up @@ -34,4 +36,9 @@ public class UserRemoteApiController {
public ResponseBodyBean<GetUserByLoginTokenResponse> getUserByLoginToken(@Valid @RequestBody GetUserByLoginTokenPayload payload) {
return ResponseBodyBean.ofSuccess(userService.getUserByLoginToken(payload.getLoginToken()));
}

@PostMapping("/save-user-for-registering")
public ResponseBodyBean<SaveUserForRegisteringResponse> saveUserForRegistering(@Valid @RequestBody SaveUserForRegisteringPayload payload) {
return ResponseBodyBean.ofSuccess(userService.saveUserForRegistering(payload));
}
}
Loading

0 comments on commit f7a0d7e

Please sign in to comment.