[ 
https://issues.apache.org/jira/browse/SLING-11861?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17719734#comment-17719734
 ] 

Sagar Miglani commented on SLING-11861:
---------------------------------------

[~reschke] I believe it is a missed edge case at resourceresolver side, in case 
of URL based vanity paths.

IMO empty path/mapping "" does not make any sense. I'm not sure if we are 
allowed to add "" vanity path, but if API doesn't allow to add why it returns 
an ""?

But if you think this is incorrect please feel free to close the PR as well as 
this ticket, Thanks!

BTW, [~cziegeler] and [~rombert] what is you opinion on this?

>  ResourceMapper.getAllMappings returns empty mapping "" when a vanity paths 
> is pathless url
> -------------------------------------------------------------------------------------------
>
>                 Key: SLING-11861
>                 URL: https://issues.apache.org/jira/browse/SLING-11861
>             Project: Sling
>          Issue Type: Bug
>          Components: ResourceResolver
>    Affects Versions: Resource Resolver 1.10.0
>            Reporter: Sagar Miglani
>            Priority: Major
>
> When a resource has a path less url as vanity path (eg: 
> "http://www.example.com";) ResourceMapper.getAllMappings returns mappings 
> consisting of an empty path "".
> This "" mapping can make {{SlingAuthenticatorServiceListener}} stop listening 
> to further  authentication requirements [0]:
> {code:xml}
> Exception in thread "pool-14-thread-1" java.lang.IllegalArgumentException: 
> Configuration must not be null or empty
>       at 
> org.apache.sling.auth.core.impl.AuthenticationRequirementHolder.fromConfig(AuthenticationRequirementHolder.java:30)
>       at 
> org.apache.sling.auth.core.impl.AuthenticationRequirementsManager.addService(AuthenticationRequirementsManager.java:374)
>       at 
> org.apache.sling.auth.core.impl.AuthenticationRequirementsManager.process(AuthenticationRequirementsManager.java:300)
>       at 
> org.apache.sling.auth.core.impl.AuthenticationRequirementsManager.processQueue(AuthenticationRequirementsManager.java:281)
>       at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>       at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>       at java.base/java.lang.Thread.run(Thread.java:834)
> {code}
> Clarification required:
> - Is "" mapping/path a valid path? Should we store and return vanity path as 
> "/" in case of pathless url as vanity path?
> cc: [~cziegeler] [~rombert] [~reschke]
> [0]: 
> https://github.com/apache/sling-org-apache-sling-auth-core/blob/org.apache.sling.auth.core-1.5.0/src/main/java/org/apache/sling/auth/core/impl/SlingAuthenticatorServiceListener.java#L345-L351



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to