From 82722f374ce6c6e8a44bffa0a25fe4bf2138004d Mon Sep 17 00:00:00 2001 From: Arda Serdar Pektezol <1669855+pektezol@users.noreply.github.com> Date: Fri, 30 Jun 2023 14:25:40 +0300 Subject: feat: add moderator status into jwt token Former-commit-id: 3034de650c9e5898a1915814ea12c4c7f4f627db --- backend/controllers/loginController.go | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'backend/controllers') diff --git a/backend/controllers/loginController.go b/backend/controllers/loginController.go index cfe086d..b30d26e 100644 --- a/backend/controllers/loginController.go +++ b/backend/controllers/loginController.go @@ -59,10 +59,20 @@ func Login(c *gin.Context) { database.DB.Exec(`INSERT INTO users (steam_id, user_name, avatar_link, country_code) VALUES ($1, $2, $3, $4)`, steamID, user.PersonaName, user.AvatarFull, user.LocCountryCode) } + moderator := false + rows, _ := database.DB.Query("SELECT title_name FROM titles WHERE user_id = $1", steamID) + for rows.Next() { + var title string + rows.Scan(&title) + if title == "Moderator" { + moderator = true + } + } // Generate JWT token token := jwt.NewWithClaims(jwt.SigningMethodHS256, jwt.MapClaims{ "sub": steamID, "exp": time.Now().Add(time.Hour * 24 * 30).Unix(), + "mod": moderator, }) // Sign and get the complete encoded token as a string using the secret tokenString, err := token.SignedString([]byte(os.Getenv("SECRET_KEY"))) -- cgit v1.2.3