Skip to content
Snippets Groups Projects
Commit f9ee48c7 authored by Xiangliang Meng's avatar Xiangliang Meng
Browse files

Merge branch 'DavidMeng-master-patch-92375' into 'master'

Refactor AuthorizationFilter::hasAnyPermission to avoid always returning true

See merge request !257
parents bc82eb69 acdb8aa2
No related branches found
No related tags found
1 merge request!257Refactor AuthorizationFilter::hasAnyPermission to avoid always returning true
Pipeline #136324 failed
......@@ -63,25 +63,23 @@ public class AuthorizationFilter {
if (Arrays.asList(requiredRoles).contains(Config.CRON) && requestInfoExt.isCronRequest()) {
dpsHeaders.put(DpsHeaders.USER_EMAIL, Config.CRON);
requestInfoExt.setHeaders(dpsHeaders);
return true;
} else if (Arrays.asList(requiredRoles).contains(Config.PUBSUB)) {
String jwt = dpsHeaders.getAuthorization().substring(BEARER_PREFIX.length());
if (!this.validator.isValidPublisherServiceAccount(jwt)) {
if (!this.authorizeWithEntitlements(requiredRoles)) {
throw new AppException(401, "Invalid User Identity", "this user is not authorized for this operation");
}
this.authorizeWithEntitlements(requiredRoles);
} else {
return false;
}
return true;
} else {
return authorizeWithEntitlements(requiredRoles);
authorizeWithEntitlements(requiredRoles);
}
return true;
}
private boolean authorizeWithEntitlements(String... requiredRoles) {
AuthorizationResponse authorizationResponse = authService.authorizeAny(requestInfoExt.getHeaders(), requiredRoles);
private void authorizeWithEntitlements(String... requiredRoles) {
DpsHeaders dpsHeaders = requestInfoExt.getHeaders();
AuthorizationResponse authorizationResponse = authService.authorizeAny(dpsHeaders, requiredRoles);
dpsHeaders.put(DpsHeaders.USER_EMAIL, authorizationResponse.getUser());
requestInfoExt.setHeaders(dpsHeaders);
return true;
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment