Remove ADMIN_TOKEN, add username check

This commit is contained in:
nak 2026-03-19 01:48:54 +00:00
parent b63eb08aa3
commit 087534ce23

17
main.go
View file

@ -25,7 +25,6 @@ var ctx = context.Background()
var domainAdminUser string var domainAdminUser string
var domainAdminPass string var domainAdminPass string
var hmacSecret []byte var hmacSecret []byte
var adminToken string
var pokerManager *poker.Manager var pokerManager *poker.Manager
// Shape definitions: name -> face count -> price (100 * faces) // Shape definitions: name -> face count -> price (100 * faces)
@ -84,12 +83,6 @@ func main() {
} }
log.Println("Connected to Redis") log.Println("Connected to Redis")
// Admin token for poker admin UI
adminToken = os.Getenv("ADMIN_TOKEN")
if adminToken == "" {
log.Fatal("ADMIN_TOKEN environment variable must be set")
}
// Poker manager // Poker manager
pokerManager = poker.NewManager(rdb, ctx) pokerManager = poker.NewManager(rdb, ctx)
pokerManager.ValidateToken = validateToken pokerManager.ValidateToken = validateToken
@ -485,14 +478,18 @@ func adjustBalance(username string, delta int64) (int64, error) {
return int64(newBalance), err return int64(newBalance), err
} }
// adminAuthMiddleware checks the Authorization header against ADMIN_TOKEN.
func adminAuthMiddleware(next http.HandlerFunc) http.HandlerFunc { func adminAuthMiddleware(next http.HandlerFunc) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) { return func(w http.ResponseWriter, r *http.Request) {
auth := r.Header.Get("Authorization") username, err := validateToken(r)
if !strings.HasPrefix(auth, "Bearer ") || strings.TrimPrefix(auth, "Bearer ") != adminToken { if err != nil {
http.Error(w, "unauthorized", http.StatusUnauthorized) http.Error(w, "unauthorized", http.StatusUnauthorized)
return return
} }
if username != "nak" {
http.Error(w, "forbidden", http.StatusForbidden)
return
}
next(w, r) next(w, r)
} }
} }