custom resolver for IDP3.x

Rod Widdowson rdw at steadingsoftware.com
Wed Aug 5 07:08:44 EDT 2015


> Any idea what classes I have to use for the
> IDP3.x?

> The resolver classes for version 2.x extend  BaseDataConnector,
> BaseSpringNamespaceHandler, BaseDataConnectorBeanDefinitionParser,
> BaseDataConnectorFactoryBean. 

BaseDataConnector => net.shibboleth.idp.attribute.resolver.AbstractDataConnector

This is in the idp-attribute-resolver-api project and so has strong constraints around changes we can make to it[1]

If you are looking for an example your best bet would be the StaticDataConnector or ScriptedDataConnector (both in net.shibboleth.idp.attribute.resolver.dc.impl which is in project idp-attribute-resolvcer-impl).

For parsing you need to move over to the idp-attribute-resolver-spring project, which has (I think) the same constraints as the -api project.  Again the Script and Static Data Connectors are the place to go for examples, but you almost certainly want to extend AbstractDataConnectorParser.

You may or may not need a BeanFactory. In V3 you cannot create an object in the parser and plug it in to the builder because if you do property replacement won't work.  So if your Connector has setters which take Objects which are more complex than Strings/booleans/integers you will need a factory.  I can expand if you need details.

Just as for V2, you don't need to touch the namespace handler, but rather create your own (for your namespace), and put a reference to it in META-INF\spring.handlers.

Rod

[1] https://wiki.shibboleth.net/confluence/display/DEV/Java+Product+Version+Policy



More information about the dev mailing list