| 10 | ) |
| 11 | |
| 12 | func SignJwtToken(userID string) (string, error) { |
| 13 | expirationTime := time.Now().Add(24 * time.Hour) |
| 14 | |
| 15 | claims := jwt.RegisteredClaims{ |
| 16 | ID: bson.NewObjectID().Hex(), |
| 17 | ExpiresAt: jwt.NewNumericDate(expirationTime), |
| 18 | IssuedAt: jwt.NewNumericDate(time.Now()), |
| 19 | Issuer: "PaperDebugger", |
| 20 | Subject: userID, |
| 21 | Audience: []string{"paperdebugger/user"}, |
| 22 | } |
| 23 | |
| 24 | token := jwt.NewWithClaims(jwt.SigningMethodHS256, claims) |
| 25 | signedToken, err := token.SignedString([]byte(cfg.GetCfg().JwtSigningKey)) |
| 26 | if err != nil { |
| 27 | return "", err |
| 28 | } |
| 29 | |
| 30 | return signedToken, nil |
| 31 | } |
| 32 | |
| 33 | func VerifyJwtToken(token string) (jwt.RegisteredClaims, error) { |
| 34 | claims := jwt.RegisteredClaims{} |