Skip to content

Commit 6ae52f7

Browse files
Merge pull request #699 from supertokens/golang-snippet-fix
fix: empty session snippet for golang
2 parents 8ade699 + 6d89d4e commit 6ae52f7

File tree

7 files changed

+313
-27
lines changed

7 files changed

+313
-27
lines changed

v2/emailpassword/advanced-customizations/user-context.mdx

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,7 @@ import (
240240
"github.com/supertokens/supertokens-golang/recipe/emailpassword"
241241
"github.com/supertokens/supertokens-golang/recipe/emailpassword/epmodels"
242242
"github.com/supertokens/supertokens-golang/recipe/session"
243+
"github.com/supertokens/supertokens-golang/recipe/session/claims"
243244
"github.com/supertokens/supertokens-golang/recipe/session/sessmodels"
244245
"github.com/supertokens/supertokens-golang/supertokens"
245246
)
@@ -262,7 +263,48 @@ func main() {
262263
* only then will the (*userContext)["isSignUp"] === true
263264
* (see above code).
264265
*/
265-
return nil, nil // this is an empty session. It won't result in a session being created for the user.
266+
return &sessmodels.TypeSessionContainer{
267+
RevokeSession: func() error { return nil },
268+
GetSessionDataInDatabase: func() (map[string]interface{}, error) { return nil, nil },
269+
UpdateSessionDataInDatabase: func(newSessionData map[string]interface{}) error { return nil },
270+
GetUserID: func() string { return "" },
271+
GetTenantId: func() string { return "public" },
272+
GetAccessTokenPayload: func() map[string]interface{} { return nil },
273+
GetHandle: func() string { return "" },
274+
GetAllSessionTokensDangerously: func() sessmodels.SessionTokens { return sessmodels.SessionTokens{} },
275+
GetAccessToken: func() string { return "" },
276+
GetTimeCreated: func() (uint64, error) { return 0, nil },
277+
GetExpiry: func() (uint64, error) { return 0, nil },
278+
RevokeSessionWithContext: func(userContext supertokens.UserContext) error { return nil },
279+
GetSessionDataInDatabaseWithContext: func(userContext supertokens.UserContext) (map[string]interface{}, error) { return nil, nil },
280+
UpdateSessionDataInDatabaseWithContext: func(newSessionData map[string]interface{}, userContext supertokens.UserContext) error { return nil },
281+
GetUserIDWithContext: func(userContext supertokens.UserContext) string { return "" },
282+
GetTenantIdWithContext: func(userContext supertokens.UserContext) string { return "public" },
283+
GetAccessTokenPayloadWithContext: func(userContext supertokens.UserContext) map[string]interface{} { return nil },
284+
GetHandleWithContext: func(userContext supertokens.UserContext) string { return "" },
285+
GetAccessTokenWithContext: func(userContext supertokens.UserContext) string { return "" },
286+
GetTimeCreatedWithContext: func(userContext supertokens.UserContext) (uint64, error) { return 0, nil },
287+
GetExpiryWithContext: func(userContext supertokens.UserContext) (uint64, error) { return 0, nil },
288+
MergeIntoAccessTokenPayloadWithContext: func(accessTokenPayloadUpdate map[string]interface{}, userContext supertokens.UserContext) error {
289+
return nil
290+
},
291+
AssertClaimsWithContext: func(claimValidators []claims.SessionClaimValidator, userContext supertokens.UserContext) error {
292+
return nil
293+
},
294+
FetchAndSetClaimWithContext: func(claim *claims.TypeSessionClaim, userContext supertokens.UserContext) error { return nil },
295+
SetClaimValueWithContext: func(claim *claims.TypeSessionClaim, value interface{}, userContext supertokens.UserContext) error {
296+
return nil
297+
},
298+
GetClaimValueWithContext: func(claim *claims.TypeSessionClaim, userContext supertokens.UserContext) interface{} { return nil },
299+
RemoveClaimWithContext: func(claim *claims.TypeSessionClaim, userContext supertokens.UserContext) error { return nil },
300+
MergeIntoAccessTokenPayload: func(accessTokenPayloadUpdate map[string]interface{}) error { return nil },
301+
AssertClaims: func(claimValidators []claims.SessionClaimValidator) error { return nil },
302+
FetchAndSetClaim: func(claim *claims.TypeSessionClaim) error { return nil },
303+
SetClaimValue: func(claim *claims.TypeSessionClaim, value interface{}) error { return nil },
304+
GetClaimValue: func(claim *claims.TypeSessionClaim) interface{} { return nil },
305+
RemoveClaim: func(claim *claims.TypeSessionClaim) error { return nil },
306+
AttachToRequestResponse: func(info sessmodels.RequestResponseInfo) error { return nil },
307+
}, nil // this is an empty session. It won't result in a session being created for the user.
266308
}
267309

268310
return ogCreateNewSession(userID, accessTokenPayload, sessionDataInDatabase, disableAntiCsrf, tenantId, userContext)

v2/passwordless/advanced-customizations/user-context.mdx

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -288,6 +288,7 @@ import (
288288
"github.com/supertokens/supertokens-golang/recipe/passwordless"
289289
"github.com/supertokens/supertokens-golang/recipe/passwordless/plessmodels"
290290
"github.com/supertokens/supertokens-golang/recipe/session"
291+
"github.com/supertokens/supertokens-golang/recipe/session/claims"
291292
"github.com/supertokens/supertokens-golang/recipe/session/sessmodels"
292293
"github.com/supertokens/supertokens-golang/supertokens"
293294
)
@@ -310,7 +311,48 @@ func main() {
310311
* only then will the (*userContext)["isSignUp"] === true
311312
* (see above code).
312313
*/
313-
return nil, nil // this is an empty session. It won't result in a session being created for the user.
314+
return &sessmodels.TypeSessionContainer{
315+
RevokeSession: func() error { return nil },
316+
GetSessionDataInDatabase: func() (map[string]interface{}, error) { return nil, nil },
317+
UpdateSessionDataInDatabase: func(newSessionData map[string]interface{}) error { return nil },
318+
GetUserID: func() string { return "" },
319+
GetTenantId: func() string { return "public" },
320+
GetAccessTokenPayload: func() map[string]interface{} { return nil },
321+
GetHandle: func() string { return "" },
322+
GetAllSessionTokensDangerously: func() sessmodels.SessionTokens { return sessmodels.SessionTokens{} },
323+
GetAccessToken: func() string { return "" },
324+
GetTimeCreated: func() (uint64, error) { return 0, nil },
325+
GetExpiry: func() (uint64, error) { return 0, nil },
326+
RevokeSessionWithContext: func(userContext supertokens.UserContext) error { return nil },
327+
GetSessionDataInDatabaseWithContext: func(userContext supertokens.UserContext) (map[string]interface{}, error) { return nil, nil },
328+
UpdateSessionDataInDatabaseWithContext: func(newSessionData map[string]interface{}, userContext supertokens.UserContext) error { return nil },
329+
GetUserIDWithContext: func(userContext supertokens.UserContext) string { return "" },
330+
GetTenantIdWithContext: func(userContext supertokens.UserContext) string { return "public" },
331+
GetAccessTokenPayloadWithContext: func(userContext supertokens.UserContext) map[string]interface{} { return nil },
332+
GetHandleWithContext: func(userContext supertokens.UserContext) string { return "" },
333+
GetAccessTokenWithContext: func(userContext supertokens.UserContext) string { return "" },
334+
GetTimeCreatedWithContext: func(userContext supertokens.UserContext) (uint64, error) { return 0, nil },
335+
GetExpiryWithContext: func(userContext supertokens.UserContext) (uint64, error) { return 0, nil },
336+
MergeIntoAccessTokenPayloadWithContext: func(accessTokenPayloadUpdate map[string]interface{}, userContext supertokens.UserContext) error {
337+
return nil
338+
},
339+
AssertClaimsWithContext: func(claimValidators []claims.SessionClaimValidator, userContext supertokens.UserContext) error {
340+
return nil
341+
},
342+
FetchAndSetClaimWithContext: func(claim *claims.TypeSessionClaim, userContext supertokens.UserContext) error { return nil },
343+
SetClaimValueWithContext: func(claim *claims.TypeSessionClaim, value interface{}, userContext supertokens.UserContext) error {
344+
return nil
345+
},
346+
GetClaimValueWithContext: func(claim *claims.TypeSessionClaim, userContext supertokens.UserContext) interface{} { return nil },
347+
RemoveClaimWithContext: func(claim *claims.TypeSessionClaim, userContext supertokens.UserContext) error { return nil },
348+
MergeIntoAccessTokenPayload: func(accessTokenPayloadUpdate map[string]interface{}) error { return nil },
349+
AssertClaims: func(claimValidators []claims.SessionClaimValidator) error { return nil },
350+
FetchAndSetClaim: func(claim *claims.TypeSessionClaim) error { return nil },
351+
SetClaimValue: func(claim *claims.TypeSessionClaim, value interface{}) error { return nil },
352+
GetClaimValue: func(claim *claims.TypeSessionClaim) interface{} { return nil },
353+
RemoveClaim: func(claim *claims.TypeSessionClaim) error { return nil },
354+
AttachToRequestResponse: func(info sessmodels.RequestResponseInfo) error { return nil },
355+
}, nil // this is an empty session. It won't result in a session being created for the user.
314356
}
315357

316358
return ogCreateNewSession(userID, accessTokenPayload, sessionDataInDatabase, disableAntiCsrf, tenantId, userContext)

v2/src/plugins/codeTypeChecking/goEnv/go.mod

Lines changed: 29 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -4,45 +4,52 @@ go 1.17
44

55
require (
66
github.com/gin-contrib/cors v1.4.0
7-
github.com/gin-gonic/gin v1.8.2
7+
github.com/gin-gonic/gin v1.9.1
88
github.com/go-chi/chi v1.5.4
99
github.com/go-chi/cors v1.2.1
1010
github.com/gorilla/handlers v1.5.1
1111
github.com/gorilla/mux v1.8.0
12-
github.com/supertokens/supertokens-golang v0.12.11-0.20230814151216-eb760d701836
12+
github.com/supertokens/supertokens-golang v0.13.0
1313
)
1414

1515
require (
1616
github.com/MicahParks/keyfunc v1.9.0 // indirect
17+
github.com/bytedance/sonic v1.9.1 // indirect
18+
github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311 // indirect
1719
github.com/davecgh/go-spew v1.1.1 // indirect
1820
github.com/derekstavis/go-qs v0.0.0-20180720192143-9eef69e6c4e7 // indirect
19-
github.com/felixge/httpsnoop v1.0.1 // indirect
21+
github.com/felixge/httpsnoop v1.0.3 // indirect
22+
github.com/gabriel-vasile/mimetype v1.4.2 // indirect
2023
github.com/gin-contrib/sse v0.1.0 // indirect
21-
github.com/go-playground/locales v0.14.0 // indirect
22-
github.com/go-playground/universal-translator v0.18.0 // indirect
23-
github.com/go-playground/validator/v10 v10.11.1 // indirect
24-
github.com/goccy/go-json v0.9.11 // indirect
25-
github.com/golang-jwt/jwt/v4 v4.4.2 // indirect
24+
github.com/go-playground/locales v0.14.1 // indirect
25+
github.com/go-playground/universal-translator v0.18.1 // indirect
26+
github.com/go-playground/validator/v10 v10.15.1 // indirect
27+
github.com/goccy/go-json v0.10.2 // indirect
28+
github.com/golang-jwt/jwt/v4 v4.5.0 // indirect
2629
github.com/golang/mock v1.6.0 // indirect
27-
github.com/golang/protobuf v1.5.0 // indirect
30+
github.com/golang/protobuf v1.5.3 // indirect
2831
github.com/h2non/parth v0.0.0-20190131123155-b4df798d6542 // indirect
2932
github.com/json-iterator/go v1.1.12 // indirect
30-
github.com/leodido/go-urn v1.2.1 // indirect
31-
github.com/mattn/go-isatty v0.0.16 // indirect
32-
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 // indirect
33+
github.com/klauspost/cpuid/v2 v2.2.4 // indirect
34+
github.com/leodido/go-urn v1.2.4 // indirect
35+
github.com/mattn/go-isatty v0.0.19 // indirect
36+
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
3337
github.com/modern-go/reflect2 v1.0.2 // indirect
34-
github.com/nyaruka/phonenumbers v1.0.73 // indirect
35-
github.com/pelletier/go-toml/v2 v2.0.6 // indirect
38+
github.com/nyaruka/phonenumbers v1.1.8 // indirect
39+
github.com/pelletier/go-toml/v2 v2.0.9 // indirect
3640
github.com/pkg/errors v0.9.1 // indirect
3741
github.com/pmezard/go-difflib v1.0.0 // indirect
38-
github.com/stretchr/testify v1.8.1 // indirect
39-
github.com/twilio/twilio-go v0.26.0 // indirect
40-
github.com/ugorji/go/codec v1.2.7 // indirect
41-
golang.org/x/crypto v0.2.0 // indirect
42-
golang.org/x/net v0.4.0 // indirect
43-
golang.org/x/sys v0.3.0 // indirect
44-
golang.org/x/text v0.5.0 // indirect
45-
google.golang.org/protobuf v1.28.1 // indirect
42+
github.com/stretchr/objx v0.5.0 // indirect
43+
github.com/stretchr/testify v1.8.4 // indirect
44+
github.com/twilio/twilio-go v1.11.0 // indirect
45+
github.com/twitchyliquid64/golang-asm v0.15.1 // indirect
46+
github.com/ugorji/go/codec v1.2.11 // indirect
47+
golang.org/x/arch v0.3.0 // indirect
48+
golang.org/x/crypto v0.12.0 // indirect
49+
golang.org/x/net v0.14.0 // indirect
50+
golang.org/x/sys v0.11.0 // indirect
51+
golang.org/x/text v0.12.0 // indirect
52+
google.golang.org/protobuf v1.31.0 // indirect
4653
gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc // indirect
4754
gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df // indirect
4855
gopkg.in/h2non/gock.v1 v1.1.2 // indirect

0 commit comments

Comments
 (0)