diff options
| author | nsfisis <nsfisis@gmail.com> | 2024-07-28 17:13:01 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2024-07-28 17:13:01 +0900 |
| commit | aadc8cf037855b99cb82798c7b0ebaafc5bb025b (patch) | |
| tree | 4ea9f9db9dbe7cf1b7720205ae281a6b8bcca8e9 /backend/auth/jwt.go | |
| parent | 90741e8336b4ffba090bf08c3b899992860e2d98 (diff) | |
| parent | 2d5f913a431c4223a16c88551ffff4100ac483c4 (diff) | |
| download | iosdc-japan-2024-albatross-aadc8cf037855b99cb82798c7b0ebaafc5bb025b.tar.gz iosdc-japan-2024-albatross-aadc8cf037855b99cb82798c7b0ebaafc5bb025b.tar.zst iosdc-japan-2024-albatross-aadc8cf037855b99cb82798c7b0ebaafc5bb025b.zip | |
Merge branch 'game-entry'
Diffstat (limited to 'backend/auth/jwt.go')
| -rw-r--r-- | backend/auth/jwt.go | 26 |
1 files changed, 12 insertions, 14 deletions
diff --git a/backend/auth/jwt.go b/backend/auth/jwt.go index 1b153fe..c750531 100644 --- a/backend/auth/jwt.go +++ b/backend/auth/jwt.go @@ -1,11 +1,10 @@ package auth import ( + "errors" "time" "github.com/golang-jwt/jwt/v5" - echojwt "github.com/labstack/echo-jwt/v4" - "github.com/labstack/echo/v4" "github.com/nsfisis/iosdc-2024-albatross-backend/db" ) @@ -38,17 +37,16 @@ func NewJWT(user *db.User) (string, error) { return token.SignedString([]byte("TODO")) } -func NewJWTMiddleware() echo.MiddlewareFunc { - return echojwt.WithConfig(echojwt.Config{ - NewClaimsFunc: func(c echo.Context) jwt.Claims { - return new(JWTClaims) - }, - SigningKey: []byte("TODO"), +func ParseJWT(token string) (*JWTClaims, error) { + claims := new(JWTClaims) + t, err := jwt.ParseWithClaims(token, claims, func(t *jwt.Token) (interface{}, error) { + return []byte("TODO"), nil }) -} - -func GetJWTClaimsFromEchoContext(c echo.Context) *JWTClaims { - user := c.Get("user").(*jwt.Token) - claims := user.Claims.(*JWTClaims) - return claims + if err != nil { + return nil, err + } + if !t.Valid { + return nil, errors.New("invalid token") + } + return claims, nil } |
