in src/main/java/org/apache/sling/auth/core/impl/AuthenticationRequirementsManager.java [369:394]
private void addService(final ResourceMapper mapper, final ServiceReference<?> ref) {
final String[] authReqPaths = Converters.standardConverter()
.convert(ref.getProperty(AuthConstants.AUTH_REQUIREMENTS))
.to(String[].class);
if (authReqPaths.length > 0) {
final Long id = (Long) ref.getProperty(Constants.SERVICE_ID);
final Set<String> paths = buildPathsSet(mapper, authReqPaths);
if (!paths.isEmpty()) {
final List<AuthenticationRequirementHolder> authReqList = new ArrayList<>();
for (final String authReq : paths) {
if (authReq == null || authReq.isEmpty()) {
logger.warn("Ignoring null/empty path while adding auth requirements for service {}", id);
continue;
}
authReqList.add(AuthenticationRequirementHolder.fromConfig(authReq, ref));
}
// keep original
regProps.put(id, paths);
registerService(authReqList);
props.put(id, authReqList);
logger.debug("Added auth requirements for service {} : {}", id, paths);
}
}
}