Sandor Molnar created KNOX-2670:
-----------------------------------

             Summary: AliasBasedTokenStateService does not throw 
UnknownTokenException at revocation time
                 Key: KNOX-2670
                 URL: https://issues.apache.org/jira/browse/KNOX-2670
             Project: Apache Knox
          Issue Type: Bug
    Affects Versions: 1.6.0
            Reporter: Sandor Molnar
            Assignee: Sandor Molnar


Steps to reproduce
 # Configure Knox to use the AliasBasedTokenStateService implemntation
 # Generated token with 1 min lifespan on the token generation UI
 # Revoke the token on the token management page
 # Use knox token api to revoke again the already revoked token

The result is:
{noformat}
{ "revoked": "true" }{noformat}
{{AliasBasedTokenStateService.removeToken(String tokenId)}} claims it throws 
{{UnknownTokenException}} but this is not true since it's missing the 
{{validateToken(String)}} call. In fact, we would not even need that method: if 
we remove it then {{DefaultTokenStateService.removeToken(String)}} will be 
invoked that has the required check.

The good news is that the token is not maintained in the memory or in the 
underlying keystore because 
{{AliasBasedTokenStateService.removeToken(Set<String> tokenIds)}} silently 
tries to remove the token from the keystore and from memory but those 
implementations are tolerant to invoke a delete with a non-existing alias.

That means, the token was removed perfectly for the first time.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to