Centralize logic for checking if user is public
This commit is contained in:
parent
f94aee19ab
commit
ddb69646a5
@ -56,11 +56,7 @@ public class CustomerController extends BaseController {
|
|||||||
ObjectMapper objectMapper = new ObjectMapper();
|
ObjectMapper objectMapper = new ObjectMapper();
|
||||||
ObjectNode infoObject = objectMapper.createObjectNode();
|
ObjectNode infoObject = objectMapper.createObjectNode();
|
||||||
infoObject.put("title", customer.getTitle());
|
infoObject.put("title", customer.getTitle());
|
||||||
boolean isPublic = false;
|
infoObject.put("isPublic", customer.isPublic());
|
||||||
if (customer.getAdditionalInfo() != null && customer.getAdditionalInfo().has("isPublic")) {
|
|
||||||
isPublic = customer.getAdditionalInfo().get("isPublic").asBoolean();
|
|
||||||
}
|
|
||||||
infoObject.put("isPublic", isPublic);
|
|
||||||
return infoObject;
|
return infoObject;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
throw handleException(e);
|
throw handleException(e);
|
||||||
|
|||||||
@ -103,13 +103,11 @@ public class RefreshTokenAuthenticationProvider implements AuthenticationProvide
|
|||||||
if (publicCustomer == null) {
|
if (publicCustomer == null) {
|
||||||
throw new UsernameNotFoundException("Public entity not found by refresh token");
|
throw new UsernameNotFoundException("Public entity not found by refresh token");
|
||||||
}
|
}
|
||||||
boolean isPublic = false;
|
|
||||||
if (publicCustomer.getAdditionalInfo() != null && publicCustomer.getAdditionalInfo().has("isPublic")) {
|
if (!publicCustomer.isPublic()) {
|
||||||
isPublic = publicCustomer.getAdditionalInfo().get("isPublic").asBoolean();
|
|
||||||
}
|
|
||||||
if (!isPublic) {
|
|
||||||
throw new BadCredentialsException("Refresh token is not valid");
|
throw new BadCredentialsException("Refresh token is not valid");
|
||||||
}
|
}
|
||||||
|
|
||||||
User user = new User(new UserId(UUIDBased.EMPTY));
|
User user = new User(new UserId(UUIDBased.EMPTY));
|
||||||
user.setTenantId(publicCustomer.getTenantId());
|
user.setTenantId(publicCustomer.getTenantId());
|
||||||
user.setCustomerId(publicCustomer.getId());
|
user.setCustomerId(publicCustomer.getId());
|
||||||
|
|||||||
@ -108,11 +108,7 @@ public class RestAuthenticationProvider implements AuthenticationProvider {
|
|||||||
if (publicCustomer == null) {
|
if (publicCustomer == null) {
|
||||||
throw new UsernameNotFoundException("Public entity not found: " + publicId);
|
throw new UsernameNotFoundException("Public entity not found: " + publicId);
|
||||||
}
|
}
|
||||||
boolean isPublic = false;
|
if (!publicCustomer.isPublic()) {
|
||||||
if (publicCustomer.getAdditionalInfo() != null && publicCustomer.getAdditionalInfo().has("isPublic")) {
|
|
||||||
isPublic = publicCustomer.getAdditionalInfo().get("isPublic").asBoolean();
|
|
||||||
}
|
|
||||||
if (!isPublic) {
|
|
||||||
throw new BadCredentialsException("Authentication Failed. Public Id is not valid.");
|
throw new BadCredentialsException("Authentication Failed. Public Id is not valid.");
|
||||||
}
|
}
|
||||||
User user = new User(new UserId(UUIDBased.EMPTY));
|
User user = new User(new UserId(UUIDBased.EMPTY));
|
||||||
|
|||||||
@ -61,6 +61,14 @@ public class Customer extends ContactBased<CustomerId> implements HasName {
|
|||||||
this.title = title;
|
this.title = title;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isPublic() {
|
||||||
|
if (getAdditionalInfo() != null && getAdditionalInfo().has("isPublic")) {
|
||||||
|
return getAdditionalInfo().get("isPublic").asBoolean();
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@JsonProperty(access = Access.READ_ONLY)
|
@JsonProperty(access = Access.READ_ONLY)
|
||||||
public String getName() {
|
public String getName() {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user