diff --git a/go.mod b/go.mod index 066269d..3ccc0dd 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module OwOrganizer -go 1.25.0 +go 1.27.0 require ( github.com/go-sql-driver/mysql v1.10.0 diff --git a/main.go b/main.go index 01eaafb..38b7890 100644 --- a/main.go +++ b/main.go @@ -20,13 +20,9 @@ var ( datastore PasskeyStore //sessions SessionStore - l Logger + l = log.Default() ) -type Logger interface { - Printf(format string, v ...interface{}) -} - type PasskeyUser interface { webauthn.User AddCredential(*webauthn.Credential) @@ -43,10 +39,7 @@ type PasskeyStore interface { } func main() { - l = log.Default() - godotenv.Load() - proto := getEnv("PROTO", "http") host := getEnv("HOST", "localhost") port := ":" + getEnv("PORT", "8080") @@ -60,35 +53,33 @@ func main() { l.Printf("[INFO] make webauthn config") wconfig := &webauthn.Config{ - RPDisplayName: "Go Webauthn", // Display Name for your site + RPDisplayName: "OwOrganizer", // Display Name for your site RPID: host, // Generally the FQDN for your site RPOrigins: []string{origin}, // The origin URLs allowed for WebAuthn } l.Printf("[INFO] create webauthn") if webAuthn, err = webauthn.New(wconfig); err != nil { - fmt.Printf("[FATAL] %s", err.Error()) + l.Panicf(err.Error()) os.Exit(1) } db, err := sql.Open("mysql", cfg.FormatDSN()) if err != nil { - panic(err) + l.Panicf(err.Error()) } defer db.Close() - // See "Important settings" section. db.SetConnMaxLifetime(time.Minute * 3) db.SetMaxOpenConns(10) db.SetMaxIdleConns(10) _, err = db.Exec(fmt.Sprintf("CREATE DATABASE IF NOT EXISTS %s", dbName)) if err != nil { - log.Fatalf("Failed to verify/create database: %v", err) + log.Panicf("Failed to verify/create database: %v", err) } - // 3. Switch your current connection pool to the database _, err = db.Exec(fmt.Sprintf("USE %s", dbName)) if err != nil { - log.Fatalf("Failed to switch database: %v", err) + log.Panicf("Failed to switch database: %v", err) } query := "CREATE TABLE IF NOT EXISTS users (" + @@ -106,7 +97,7 @@ func main() { _, err = db.Exec(query) if err != nil { - log.Fatalf("Failed to verify/create table: %v", err) + log.Panicf("Failed to verify/create table: %v", err) } l.Printf("[INFO] create datastore") diff --git a/store.go b/store.go index 6b1be42..287d8a9 100644 --- a/store.go +++ b/store.go @@ -5,6 +5,7 @@ import ( "database/sql" "encoding/base64" "fmt" + "log" _ "github.com/go-sql-driver/mysql" "github.com/go-webauthn/webauthn/webauthn" ) @@ -15,7 +16,7 @@ type InMem struct { users map[string]PasskeyUser sessions map[string]webauthn.SessionData - log Logger + log* log.Logger db* sql.DB } @@ -30,7 +31,7 @@ func (i *InMem) GenSessionID() (string, error) { } -func NewInMem(log Logger, db *sql.DB) *InMem { +func NewInMem(log *log.Logger, db *sql.DB) *InMem { return &InMem{ users: make(map[string]PasskeyUser), sessions: make(map[string]webauthn.SessionData),