We use the WebServerAuth package to authenticate Shibboleth users. It works just fine, but I want another simple plugin that will take the Shibboleth request headers and update the user's fullname based on those values. Nothing fancy here.
I've been looking at https://github.com/plone/Products.PluggableAuthService/blob/master/Products/PluggableAuthService/doc/framework_overview.stx where a decorator plugin sounds like what I want for my purpose. However I can't find an interface that seems to match this, at least in name - is this doc outdated?
One possibility seems to be to create an IExtractionPlugin plugin that calls member.setMemberProperties in its extractCredentials method. And then maybe return None. From a cursory look at how PAS works I believe it calls all of the extraction plugins to see if they return something, even if a previous one returns a valid value. That is, I could have it call the extractCredentials method for both my custom plugin and the WebServerAuth plugin, with the latter actually returning credentials and the former just updating user data. This has a feel of "doing it wrong" though, and I'm not sure it will work. Is there a better way to do this?