@@ -21,6 +21,7 @@ import (
2121 "github.com/golang-jwt/jwt/v4"
2222 sterrors "github.com/supertokens/supertokens-golang/recipe/session/errors"
2323 "github.com/supertokens/supertokens-golang/recipe/session/sessmodels"
24+ "github.com/supertokens/supertokens-golang/supertokens"
2425 "strings"
2526)
2627
@@ -41,6 +42,7 @@ func GetInfoFromAccessToken(jwtInfo sessmodels.ParsedJWTInfo, jwks keyfunc.JWKS,
4142 if jwtInfo .Version >= 3 {
4243 parsedToken , parseError := jwt .Parse (jwtInfo .RawTokenString , jwks .Keyfunc )
4344 if parseError != nil {
45+ supertokens .LogDebugMessage ("GetInfoFromAccessToken: Returning TryRefreshTokenError because access token parsing failed" )
4446 return nil , sterrors.TryRefreshTokenError {
4547 Msg : parseError .Error (),
4648 }
@@ -49,6 +51,7 @@ func GetInfoFromAccessToken(jwtInfo sessmodels.ParsedJWTInfo, jwks keyfunc.JWKS,
4951 if parsedToken .Valid {
5052 claims , ok := parsedToken .Claims .(jwt.MapClaims )
5153 if ! ok {
54+ supertokens .LogDebugMessage ("GetInfoFromAccessToken: Returning TryRefreshTokenError because access token claims are invalid" )
5255 return nil , sterrors.TryRefreshTokenError {
5356 Msg : "Invalid JWT claims" ,
5457 }
@@ -81,6 +84,7 @@ func GetInfoFromAccessToken(jwtInfo sessmodels.ParsedJWTInfo, jwks keyfunc.JWKS,
8184 }
8285
8386 if parseErr != nil {
87+ supertokens .LogDebugMessage ("GetInfoFromAccessToken: Returning TryRefreshTokenError because access token parsing failed" )
8488 return nil , sterrors.TryRefreshTokenError {
8589 Msg : parseErr .Error (),
8690 }
@@ -89,6 +93,7 @@ func GetInfoFromAccessToken(jwtInfo sessmodels.ParsedJWTInfo, jwks keyfunc.JWKS,
8993 if parsedToken .Valid {
9094 claims , ok := parsedToken .Claims .(jwt.MapClaims )
9195 if ! ok {
96+ supertokens .LogDebugMessage ("GetInfoFromAccessToken: Returning TryRefreshTokenError because access token claims are invalid" )
9297 return nil , sterrors.TryRefreshTokenError {
9398 Msg : "Invalid JWT claims" ,
9499 }
@@ -107,13 +112,15 @@ func GetInfoFromAccessToken(jwtInfo sessmodels.ParsedJWTInfo, jwks keyfunc.JWKS,
107112 }
108113
109114 if payload == nil {
115+ supertokens .LogDebugMessage ("GetInfoFromAccessToken: Returning TryRefreshTokenError because access token JWT has no payload" )
110116 return nil , sterrors.TryRefreshTokenError {
111117 Msg : "Invalid JWT" ,
112118 }
113119 }
114120
115121 err := ValidateAccessTokenStructure (payload , jwtInfo .Version )
116122 if err != nil {
123+ supertokens .LogDebugMessage ("GetInfoFromAccessToken: Returning TryRefreshTokenError because ValidateAccessTokenStructure returned an error" )
117124 return nil , sterrors.TryRefreshTokenError {
118125 Msg : err .Error (),
119126 }
@@ -142,12 +149,14 @@ func GetInfoFromAccessToken(jwtInfo sessmodels.ParsedJWTInfo, jwks keyfunc.JWKS,
142149 antiCsrfToken := sanitizeStringInput (payload ["antiCsrfToken" ])
143150
144151 if antiCsrfToken == nil && doAntiCsrfCheck {
152+ supertokens .LogDebugMessage ("GetInfoFromAccessToken: Returning TryRefreshTokenError because access does not contain the anti-csrf token." )
145153 return nil , sterrors.TryRefreshTokenError {
146154 Msg : "Access token does not contain the anti-csrf token." ,
147155 }
148156 }
149157
150158 if expiryTime < GetCurrTimeInMS () {
159+ supertokens .LogDebugMessage ("GetInfoFromAccessToken: Returning TryRefreshTokenError because access is expired" )
151160 return nil , sterrors.TryRefreshTokenError {
152161 Msg : "Access token expired" ,
153162 }
0 commit comments