@@ -894,17 +894,29 @@ component accessors="true" singleton threadsafe {
894
894
" messages" : " "
895
895
};
896
896
897
+ var payload = {};
898
+
897
899
try {
898
- // Try to get the payload from the jwt token, if we have exceptions, we have failed :(
899
- // This takes care of authenticating the jwt tokens for us.
900
- // getPayload() => parseToken() => authenticateToken()
901
- var payload = getPayload ();
902
- }
903
- // Access Token Has Expired
904
- catch ( TokenExpiredException e ) {
905
- // Do we have autoRefreshValidator turned on and we have an incoming refresh token?
906
- var refreshToken = discoverRefreshToken ();
907
- if ( variables .settings .jwt .enableAutoRefreshValidator && len ( refreshToken ) ) {
900
+ try {
901
+ // Try to get the payload from the jwt token, if we have exceptions, we have failed :(
902
+ // This takes care of authenticating the jwt tokens for us.
903
+ // getPayload() => parseToken() => authenticateToken()
904
+ payload = getPayload ();
905
+ } catch ( any e ) {
906
+ // if we aren't trying to refresh, return the false response now.
907
+ var refreshToken = discoverRefreshToken ();
908
+ if (
909
+ ! variables .settings .jwt .enableAutoRefreshValidator ||
910
+ ! len ( refreshToken ) ||
911
+ ! listFindNoCase (
912
+ " TokenExpiredException,TokenInvalidException,TokenNotFoundException" ,
913
+ e .type
914
+ )
915
+ ) {
916
+ results .messages = e .type & " :" & e .message ;
917
+ return results ;
918
+ }
919
+
908
920
// Try to Refresh the tokens
909
921
var newTokens = this .refreshToken ( refreshToken );
910
922
// Setup payload + authenticate for current request
@@ -920,13 +932,9 @@ component accessors="true" singleton threadsafe {
920
932
name : variables .settings .jwt .customRefreshHeader ,
921
933
value : newTokens .refresh_token
922
934
);
923
- } else {
924
- // Error out as normal
925
- results .messages = e .type & " :" & e .message ;
926
- return results ;
927
935
}
928
936
}
929
- // All other exceptions
937
+ // All exceptions for refreshTokens
930
938
catch ( Any e ) {
931
939
results .messages = e .type & " :" & e .message ;
932
940
return results ;
0 commit comments