Skip to content

Commit 51a6dec

Browse files
committed
Add debug logs for GetInfoFromAccessToken
1 parent ebc16c1 commit 51a6dec

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

recipe/session/accessToken.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)