SecurityTokens are cancelled in the STS via the TokenCanceller interface. This interface is very similar to the TokenProvider and TokenValidator interfaces. It contains three methods:
void setVerifyProofOfPossession(boolean verifyProofOfPossession)- Whether to enable or disable proof-of-possession verification.
boolean canHandleToken(ReceivedToken cancelTarget)- Whether this TokenCanceller implementation can cancel the given token
TokenCancellerResponse cancelToken(TokenCancellerParameters tokenParameters)- Cancel a token using the given parameters
A client can cancel a security token via the STS by invoking the "cancel" operation. Assuming that the client request is authenticated and well-formed, the STS will iterate through a list of TokenCanceller implementations to see if they can "handle" the received token. If they can, then the implementation is used to cancel the received security token, and the cancellation result is returned to the client. The STS currently ships with a single TokenCanceller implementation, which can cancel SecurityContextTokens that were issued by the STS. Before we look at this implementation, let's look at the "cancelToken" operation in more detail. This method takes a TokenCancellerParameters instance, and returns a TokenCancellerResponse object.