Hi Felix,

> ... have created the Service Authentication concept [1]..

I like it - here are some comments on the proposed APIs.

1) getServiceResourceResolver
In ResourceResolver getServiceResourceResolver(Map<String, Object>
authenticationInfo), authenticationInfo MUST contain some attributes,
wouldn't it be better to use a more specific argument than Map<String,
Object> ?

Maybe

  getServiceResourceResolver(ServicerUserURI uri, Bundle
serviceBundle, String optionalServiceInfo)

2) ServiceUserMapper
Like Angela I think the naming is a bit confusing, I would suggest having

  ServicerUserURI - identifies a service, like "service:MailSender:server"
  userId - a User ID as used by the Sling security services

You could then have, IIUC

interface ServiceUserMapper {
  ServicerUserURI getServiceURI(Bundle b, String serviceName)
  String getServiceUserID(ServicerUserURI URI, Bundle serviceBundle)
}

The main idea is to clearly define what's a service name
("mail.sender"), service URI ("service:someBundle:mail.sender") and
User ID ("mailsender").

-Bertrand

> [1] https://cwiki.apache.org/confluence/display/SLING/Service+Authentication

Reply via email to