aboutsummaryrefslogtreecommitdiffhomepage
path: root/backend/auth
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2024-07-29 20:04:26 +0900
committernsfisis <nsfisis@gmail.com>2024-07-29 20:04:26 +0900
commit9e47a0ecc9416a0fa0b09201882d1da5b11ebaff (patch)
treef368aa1ef1d734d3096c9129e17d6af11d1041a6 /backend/auth
parent3f95e0e6d62267cf8863e98f3ab7de8971a91000 (diff)
parent648613e24c8afe5fd3c599def61b33ccf7bcb96c (diff)
downloadphperkaigi-2025-albatross-9e47a0ecc9416a0fa0b09201882d1da5b11ebaff.tar.gz
phperkaigi-2025-albatross-9e47a0ecc9416a0fa0b09201882d1da5b11ebaff.tar.zst
phperkaigi-2025-albatross-9e47a0ecc9416a0fa0b09201882d1da5b11ebaff.zip
Merge branch 'game-watching'
Diffstat (limited to 'backend/auth')
-rw-r--r--backend/auth/jwt.go15
1 files changed, 15 insertions, 0 deletions
diff --git a/backend/auth/jwt.go b/backend/auth/jwt.go
index 0b92155..b7abc68 100644
--- a/backend/auth/jwt.go
+++ b/backend/auth/jwt.go
@@ -33,6 +33,21 @@ func NewJWT(user *db.User) (string, error) {
return token.SignedString([]byte("TODO"))
}
+func NewShortLivedJWT(claims *JWTClaims) (string, error) {
+ newClaims := &JWTClaims{
+ UserID: claims.UserID,
+ Username: claims.Username,
+ DisplayName: claims.DisplayName,
+ IconPath: claims.IconPath,
+ IsAdmin: claims.IsAdmin,
+ RegisteredClaims: jwt.RegisteredClaims{
+ ExpiresAt: jwt.NewNumericDate(time.Now().Add(time.Minute * 5)),
+ },
+ }
+ token := jwt.NewWithClaims(jwt.SigningMethodHS256, newClaims)
+ return token.SignedString([]byte("TODO"))
+}
+
func ParseJWT(token string) (*JWTClaims, error) {
claims := new(JWTClaims)
t, err := jwt.ParseWithClaims(token, claims, func(t *jwt.Token) (interface{}, error) {