[ https://issues.apache.org/jira/browse/KNOX-2212?focusedWorklogId=393013&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-393013 ]
ASF GitHub Bot logged work on KNOX-2212: ---------------------------------------- Author: ASF GitHub Bot Created on: 25/Feb/20 22:35 Start Date: 25/Feb/20 22:35 Worklog Time Spent: 10m Work Description: moresandeep commented on pull request #274: KNOX-2212 - Token permissiveness URL: https://github.com/apache/knox/pull/274#discussion_r384168240 ########## File path: gateway-server/src/main/java/org/apache/knox/gateway/services/token/impl/DefaultTokenStateService.java ########## @@ -310,4 +325,30 @@ protected boolean needsEviction(final String token) throws UnknownTokenException return tokenExpirations.keySet().stream().collect(Collectors.toList()); } + /** + * A function that returns the JWT token expiration. This is only called when + * gateway.knox.token.permissive.failure.enabled property is set to true. + * + * @param token token to be verified and saved + */ + protected long getJWTTokenExpiration(final String token) { + if (!isValidIdentifier(token)) { + throw new IllegalArgumentException("Token data cannot be null."); + } + JWT jwt; + try { + jwt = new JWTToken(token); + } catch (final ParseException e) { + log.errorParsingToken(e.toString()); + throw new IllegalArgumentException(e); Review comment: True, that would be ugly, but we only throw two types of exceptions here `UnknownTokenException ` and `IllegalArgumentException`. `ParseException` is not a Runtime exception so we need to wrap it up in one of the two types, which leaves us with `IllegalArgumentException`. The stack trace will atleast let users know what the original error was. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking ------------------- Worklog Id: (was: 393013) Time Spent: 1h (was: 50m) > TokenStateService should fail permissively > ------------------------------------------ > > Key: KNOX-2212 > URL: https://issues.apache.org/jira/browse/KNOX-2212 > Project: Apache Knox > Issue Type: Bug > Components: Server > Affects Versions: 1.4.0 > Reporter: Philip Zampino > Assignee: Sandeep More > Priority: Major > Time Spent: 1h > Remaining Estimate: 0h > > While unlikely, it's possible that the TokenStateService may be presented > with a token, for which it has no state, but which can be verified as a valid > (origin, expiration, etc...) token. In these cases, rather than rejecting the > token for lack of server-managed state, the token's state should be recorded, > and the associated operation permitted. -- This message was sent by Atlassian Jira (v8.3.4#803005)