Package org.forgerock.openam.sts.service.invocation

The classes in this package encapsulate the state necessary to invoke the token-generation-service. Classes specific to token-generation-service consumption are located in this package. It has an analogue in the org.forgerock.openam.sts.service.invocation package in the openam-client-sts module. All of the classes in the openam-client-sts module are included in the client-sdk, and are used to drive the programmatic publication and consumption of the rest-sts. The classes in this package are specific to state necessary to consume the token-generation-service. The generation of an instance of any specific token requires several pieces of information: 1. token-specific configuration state published with the sts - e.g. signing and encryption context, token audience context, etc. This state is pulled from the SMS by the token-generation-service. 2. invocation-specific state made as part of the soap- or rest-sts invocation - e.g. the OIDC nonce, or the x509 certificate to be included as the proof token state in a HolderOfKey SAML2 assertion 3. information generated as part of the execution of the token transformation invocation itself - e.g. the authentication context class references generated by the examination of the input token state. The classes in this package need to encapsulate the state in list entries 2 and 3 above. I don't want to duplicate classes encapsulating client-invocation-specific state located in the openam-client-sts module, but I also don't want to muddy the concerns of each in the name of code-reuse - duplicated code is preferable to muddied abstractions IMO.