Custom attribute connectors
The built-in attribute connectors cover most needs: databases, directories, HTTP services, and parsers for JSON, XML, and JWT. Sometimes a custom attribute connector, written in Java, is a better fit. For example, to:
- Normalize or translate values: convert the values of a source into the form your policies use, such as mapping department codes to names, or combining several fields into one value.
- Improve performance: retrieve several attributes in one call, or use a source in a way that is faster than the built-in attribute connectors can.
- Connect to a source the built-in attribute connectors do not support, such as a proprietary system or protocol.
You can develop a custom attribute connector directly in your APD project:
- Put the Java code in
src/main/java.stageDeploymentandrunAdsbuild it into a JAR file and add it to ADS, and the tests use it too. - Use it like any other attribute connector: a YAML file in
src/authorizationDomain/attributeConnectors/with the class name of your attribute connector inclassName. See Create the attribute connectors. - Add the libraries it needs at runtime to the
pipconfiguration, and libraries needed only to compile it toadsCompile. See Dependency configurations. - Test it like the built-in attribute connectors, see Attribute connector tests.
:::tip Plan it with Axiomatics A custom attribute connector uses the Java API of ADS. Before you start, contact Axiomatics through the Support portalOpens in a new tab to set up a planning meeting. Together we can check whether a built-in attribute connector already meets your need, and agree on the design, the API to use, and how to test the attribute connector. :::