Karl von Randow created CXF-6559:
------------------------------------

             Summary: AbstractOAuthDataProvider.refreshAccessToken method can't 
handle an invalid refresh token
                 Key: CXF-6559
                 URL: https://issues.apache.org/jira/browse/CXF-6559
             Project: CXF
          Issue Type: Bug
          Components: JAX-RS Security
    Affects Versions: 3.1.2
            Reporter: Karl von Randow


The refreshAccessToken method calls revokeRefreshAndAccessTokens, which calls 
revokeRefreshToken, which is an abstract method which declares no exceptions.

Implementations assume that the method will return null if the refresh token 
doesn't exist (see the DefaultEHCacheOAuthDataProvider, although the 
DefaultEncryptingOAuthDataProvider implementation may throw a SecurityException 
in that case as it can't really / doesn't support revoking).

However if a null is returned, refreshAccessToken passes that null to 
doRefreshAccessToken which will then fail with a NullPointerException.

I suggest that refreshAccessToken check for a null refresh token and throws an 
OAuthServiceException, possibly with OAuthConstants.ACCESS_DENIED. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to