The TokenProviderParameters class is nothing more than a collection of configuration properties to use in creating the token, which are populated by the STS operations using information collated from the request, or static configuration, etc. The properties of the TokenProviderParameters are:
STSPropertiesMBean stsProperties- A configuration MBean that holds the configuration for the STS as a whole, such as information about the private key to use to sign issued tokens, etc.
EncryptionProperties encryptionProperties- A properties object that holds encryption information relevant to the intended recipient of the token.
Principal principal- The current client Principal object. This can be used as the "subject" of the generated token.
WebServiceContext webServiceContext- The current web service context object. This allows access to the client request.
RequestClaimCollection requestedClaims- The requested claims in the token.
KeyRequirements keyRequirements- A set of configuration properties relating to keys.
TokenRequirements tokenRequirements- A set of configuration properties relating to the token.
String appliesToAddress- The URL that corresponds to the intended recipient of the token.
ClaimsManager claimsManager- An object that can manage claims.
Map<String, Object> additionalProperties- Any additional (custom) properties that might be used by a TokenProvider implementation.
TokenStore tokenStore- A cache used to store tokens.
String realm- The realm to create the token in (this should be the same as the realm passed to "canHandleToken").
If this looks complicated then remember that the STS will take care of populating all of these properties from the request and some additional configuration. You only need to worry about the TokenProviderParameters object if you are creating your own TokenProvider implementation.