aboutsummaryrefslogtreecommitdiff
path: root/backend/middleware
diff options
context:
space:
mode:
authorNidboj132 <lol2s@vp.plm>2023-09-05 18:23:11 +0200
committerNidboj132 <lol2s@vp.plm>2023-09-05 18:23:11 +0200
commit3869cb67351ccf3bc45b076f31afdc7133292c39 (patch)
treedc03341e147dde0964bf6be84b14e13424c647b7 /backend/middleware
parentadded graph and fixed some css (diff)
parentfix: create map summary, why the fuck does this have to be a pointer integer?? (diff)
downloadlphub-3869cb67351ccf3bc45b076f31afdc7133292c39.tar.gz
lphub-3869cb67351ccf3bc45b076f31afdc7133292c39.tar.bz2
lphub-3869cb67351ccf3bc45b076f31afdc7133292c39.zip
Merge branch 'main' of https://github.com/pektezol/LeastPortalsHub
Former-commit-id: 221385f463b7f5b0fc43a093b2c7c46e68d46d68
Diffstat (limited to 'backend/middleware')
-rw-r--r--backend/middleware/auth.go60
1 files changed, 0 insertions, 60 deletions
diff --git a/backend/middleware/auth.go b/backend/middleware/auth.go
deleted file mode 100644
index 0744b3d..0000000
--- a/backend/middleware/auth.go
+++ /dev/null
@@ -1,60 +0,0 @@
1package middleware
2
3import (
4 "fmt"
5 "os"
6 "time"
7
8 "github.com/gin-gonic/gin"
9 "github.com/golang-jwt/jwt/v4"
10 "github.com/pektezol/leastportalshub/backend/database"
11 "github.com/pektezol/leastportalshub/backend/models"
12)
13
14func CheckAuth(c *gin.Context) {
15 tokenString := c.GetHeader("Authorization")
16 // Validate token
17 token, err := jwt.Parse(tokenString, func(token *jwt.Token) (interface{}, error) {
18 if _, ok := token.Method.(*jwt.SigningMethodHMAC); !ok {
19 return nil, fmt.Errorf("Unexpected signing method: %v", token.Header["alg"])
20 }
21 return []byte(os.Getenv("SECRET_KEY")), nil
22 })
23 if token == nil {
24 c.Next()
25 return
26 }
27 if err != nil {
28 c.Next()
29 return
30 }
31 if claims, ok := token.Claims.(jwt.MapClaims); ok && token.Valid {
32 // Check exp
33 if float64(time.Now().Unix()) > claims["exp"].(float64) {
34 c.Next()
35 return
36 }
37 // Get user from DB
38 var user models.User
39 database.DB.QueryRow(`SELECT u.steam_id, u.user_name, u.avatar_link, u.country_code, u.created_at, u.updated_at FROM users u WHERE steam_id = $1`, claims["sub"]).Scan(
40 &user.SteamID, &user.UserName, &user.AvatarLink,
41 &user.CountryCode, &user.CreatedAt, &user.UpdatedAt)
42 if user.SteamID == "" {
43 c.Next()
44 return
45 }
46 // Get user titles from DB
47 user.Titles = []string{}
48 rows, _ := database.DB.Query(`SELECT t.title_name FROM titles t WHERE t.user_id = $1`, user.SteamID)
49 for rows.Next() {
50 var title string
51 rows.Scan(&title)
52 user.Titles = append(user.Titles, title)
53 }
54 c.Set("user", user)
55 c.Next()
56 } else {
57 c.Next()
58 return
59 }
60}