SHA256
minor changes
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
module OwOrganizer
|
||||
|
||||
go 1.25.0
|
||||
go 1.27.0
|
||||
|
||||
require (
|
||||
github.com/go-sql-driver/mysql v1.10.0
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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),
|
||||
|
||||
Reference in New Issue
Block a user