start working on the frontend side
This commit is contained in:
75
scripts/update-admin-password.sh
Executable file
75
scripts/update-admin-password.sh
Executable file
@@ -0,0 +1,75 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Update admin user password with Argon2id hash
|
||||
# This is needed after implementing password hashing
|
||||
|
||||
set -e
|
||||
|
||||
DB_HOST="${CALYPSO_DB_HOST:-localhost}"
|
||||
DB_PORT="${CALYPSO_DB_PORT:-5432}"
|
||||
DB_USER="${CALYPSO_DB_USER:-calypso}"
|
||||
DB_NAME="${CALYPSO_DB_NAME:-calypso}"
|
||||
DB_PASSWORD="${CALYPSO_DB_PASSWORD:-calypso123}"
|
||||
ADMIN_USER="${ADMIN_USER:-admin}"
|
||||
ADMIN_PASS="${ADMIN_PASS:-admin123}"
|
||||
|
||||
echo "Updating admin user password with Argon2id hash..."
|
||||
|
||||
# Create a temporary Go program to hash the password
|
||||
cat > /tmp/hash-password.go << 'EOF'
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"github.com/atlasos/calypso/internal/common/config"
|
||||
"github.com/atlasos/calypso/internal/common/password"
|
||||
)
|
||||
|
||||
func main() {
|
||||
if len(os.Args) < 2 {
|
||||
fmt.Fprintf(os.Stderr, "Usage: %s <password>\n", os.Args[0])
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
pwd := os.Args[1]
|
||||
params := config.Argon2Params{
|
||||
Memory: 64 * 1024,
|
||||
Iterations: 3,
|
||||
Parallelism: 4,
|
||||
SaltLength: 16,
|
||||
KeyLength: 32,
|
||||
}
|
||||
|
||||
hash, err := password.HashPassword(pwd, params)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "Error: %v\n", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
fmt.Println(hash)
|
||||
}
|
||||
EOF
|
||||
|
||||
cd /development/calypso/backend
|
||||
HASH=$(go run /tmp/hash-password.go "$ADMIN_PASS" 2>/dev/null)
|
||||
|
||||
if [ -z "$HASH" ]; then
|
||||
echo "Failed to generate password hash"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Generated hash: ${HASH:0:50}..."
|
||||
|
||||
# Update database
|
||||
PGPASSWORD="$DB_PASSWORD" psql -h "$DB_HOST" -p "$DB_PORT" -U "$DB_USER" -d "$DB_NAME" << EOF
|
||||
UPDATE users
|
||||
SET password_hash = '$HASH', updated_at = NOW()
|
||||
WHERE username = '$ADMIN_USER';
|
||||
SELECT username, LEFT(password_hash, 50) as hash_preview FROM users WHERE username = '$ADMIN_USER';
|
||||
EOF
|
||||
|
||||
echo ""
|
||||
echo "Admin password updated successfully!"
|
||||
echo "You can now login with username: $ADMIN_USER"
|
||||
|
||||
Reference in New Issue
Block a user