Hi Adam,
You can set temporary any object to `identiy.setWorkingParameter` and use it during rendering JSF phase. You can do this in `prepareForStep`.
But if you need to persist parameter in session you need to use primitive types. Also you need to inform Authneticator which parameter from `identity.workingParameters` it should persist. You can do this via method:
```
def getExtraParametersForStep(self, configurationAttributes, step):
if step == 1:
return Arrays.asList("items")
return None
```
In scripts which I developed I use JSON if I need to strore complex object in session.
In order to use map in JSF you can do for example next:
1. Put into `identity.setWorkingParameter` 2 parameters with map and JSON
2. Implement `getExtraParametersForStep` to store only parameter with JSON value
3. Add logic into `prepareForStep` to get JSON parameter and set map parameter into identity.setWorkingParameter again.
There are also other examples in oxAuth [repo](https://github.com/GluuFederation/oxAuth/tree/master/Server/integrations).
Regards,
Yuriy