The TokenRequirements class holds a set of properties that have been extracted and parsed by RequestParser. These properties loosely relate to the token itself, rather than anything to do with keys. The properties that can be set by RequestParser are:
- String tokenType - The desired TokenType URI. This is required if a token is to be issued.
- Element appliesTo - The AppliesTo element that was received in the request. This normally holds a URL that indicates who the recipient of the issued token will be.
- String context - The context attribute of the request.
- ReceivedToken validateTarget - This object holds the contents of a received "ValidateTarget" element, i.e. a token to validate.
- ReceivedToken onBehalfOf - This object holds the contents of a received "OnBehalfOf" element.
- ReceivedToken actAs - This object holds the contents of a received "ActAs" element.
- ReceivedToken cancelTarget - This object holds the contents of a received "CancelTarget" element, i.e. a token to cancel.
- Lifetime lifetime - The requested lifetime of the issued token. This just holds created and expires Strings, that are parsed from the request.
- RequestClaimCollection claims - A collection of requested claims that are parsed from the request.
- Renewing renewing - Holds the wst:Renewing semantics that were received (if any) as part of the request.
The ReceivedToken class mentioned above parses a received token object, which can be a JAXBElement<?> or a DOM Element. If it is a JAXBElement then it must be either a UsernameToken, SecurityTokenReference, or BinarySecurityToken. If it is a reference to a security token in the security header of the request, then this token is retrieved and set as the ReceivedToken instead.