invite: fix email confirmation jwt

same issue as with auth.go, expiry was a string causing the library to
see it as expired.
This commit is contained in:
Harvey Tindall 2021-08-26 18:39:50 +01:00
parent 1bfec54c93
commit 412fe31da6
Signed by: hrfee
GPG Key ID: BBC65952848FB1A2
3 changed files with 3 additions and 4 deletions

2
api.go
View File

@ -418,7 +418,7 @@ func (app *appContext) newUser(req newUserDTO, confirmed bool) (f errorFunc, suc
"username": req.Username, "username": req.Username,
"password": req.Password, "password": req.Password,
"telegramPIN": req.TelegramPIN, "telegramPIN": req.TelegramPIN,
"exp": strconv.FormatInt(time.Now().Add(time.Hour*12).Unix(), 10), "exp": time.Now().Add(time.Hour * 12).Unix(),
"type": "confirmation", "type": "confirmation",
} }
tk := jwt.NewWithClaims(jwt.SigningMethodHS256, claims) tk := jwt.NewWithClaims(jwt.SigningMethodHS256, claims)

View File

@ -100,7 +100,7 @@ func migrateEmailStorage(app *appContext) error {
case map[string]interface{}: case map[string]interface{}:
return nil return nil
default: default:
return fmt.Errorf("Email address was type %T, not string: \"%+v\"\n", addr, addr) return fmt.Errorf("email address was type %T, not string: \"%+v\"\n", addr, addr)
} }
} }
config, err := ini.Load(app.configPath) config, err := ini.Load(app.configPath)

View File

@ -4,7 +4,6 @@ import (
"html/template" "html/template"
"io/fs" "io/fs"
"net/http" "net/http"
"strconv"
"strings" "strings"
"time" "time"
@ -249,7 +248,7 @@ func (app *appContext) InviteProxy(gc *gin.Context) {
return return
} }
claims, ok := token.Claims.(jwt.MapClaims) claims, ok := token.Claims.(jwt.MapClaims)
expiryUnix, err := strconv.ParseInt(claims["exp"].(string), 10, 64) expiryUnix := int64(claims["exp"].(float64))
if err != nil { if err != nil {
fail() fail()
app.err.Printf("Failed to parse key expiry: %s", err) app.err.Printf("Failed to parse key expiry: %s", err)