From 844bfb323c626d14bcf170e6c126e20615e5ccaf1eac4a504c9bc2a2dc019009 Mon Sep 17 00:00:00 2001 From: Alexandra Knopf Date: Sun, 9 Aug 2026 03:25:20 -0700 Subject: [PATCH] start save users --- main.go | 6 +++--- store.go | 19 ++++++++++++++++++- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/main.go b/main.go index 78d1f09..15b3269 100644 --- a/main.go +++ b/main.go @@ -145,9 +145,9 @@ func FinishRegistration(w http.ResponseWriter, r *http.Request) { user := datastore.GetOrCreateUser(string(session.UserID)) // Get the user var username = strings.Trim(user.WebAuthnName(), " \r\n\t") - if username == "" { - l.Printf("[ERROR] SaveUser: Empty username") - msg := fmt.Sprintf("\"Error\": \"Can't finish registration: Empty username\"") + if len(username) < 2 { + l.Printf("[ERROR] SaveUser: Username too short") + msg := fmt.Sprintf("Error: Can't finish registration: Username too short") http.SetCookie(w, &http.Cookie{ Name: "sid", Value: "", diff --git a/store.go b/store.go index 8bcee95..98115c8 100644 --- a/store.go +++ b/store.go @@ -4,7 +4,9 @@ import ( "crypto/rand" "database/sql" "encoding/base64" - "github.com/go-sql-driver/mysql" + "fmt" + "time" + _ "github.com/go-sql-driver/mysql" "github.com/go-webauthn/webauthn/webauthn" ) @@ -69,6 +71,21 @@ func (i *InMem) GetOrCreateUser(userName string) PasskeyUser { func (i *InMem) SaveUser(user PasskeyUser) { // Store user in MySQL database + db, err := sql.Open("mysql", "root:password@/oworganizer") + if err != nil { + panic(err) + } + // See "Important settings" section. + db.SetConnMaxLifetime(time.Minute * 3) + db.SetMaxOpenConns(10) + db.SetMaxIdleConns(10) + + insert, err := db.Query("INSERT INTO users (username, key) VALUES(" + user.WebAuthnName(), user.WebAuthnCredentials()) + if err !=nil { + panic(err.Error()) + } + defer insert.Close() + fmt.Println("Yay, values added!") i.log.Printf("[DEBUG] SaveUser: %v", user.WebAuthnName()) i.users[user.WebAuthnName()] = user