private String resolveControllerId(final DmfTenantSecurityToken securityToken) { if (securityToken.getControllerId() != null) { return securityToken.getControllerId(); } final Optional<Target> foundTarget = systemSecurityContext.runAsSystemAsTenant( () -> controllerManagement.get(securityToken.getTargetId()), securityToken.getTenant()); if (!foundTarget.isPresent()) { return null; } return foundTarget.get().getControllerId(); }
@Override public HeaderAuthentication getPreAuthenticatedCredentials(final DmfTenantSecurityToken securityToken) { final Optional<Target> target = systemSecurityContext.runAsSystemAsTenant(() -> { if (securityToken.getTargetId() != null) { return controllerManagement.get(securityToken.getTargetId()); } return controllerManagement.getByControllerId(securityToken.getControllerId()); }, securityToken.getTenant()); return target.map(t -> new HeaderAuthentication(t.getControllerId(), systemSecurityContext.runAsSystemAsTenant(() -> t.getSecurityToken(), securityToken.getTenant()))) .orElse(null); }