chore(release): snapshot 1.4.2
This commit is contained in:
94
scripts/reset-superadmin-password.ps1
Normal file
94
scripts/reset-superadmin-password.ps1
Normal file
@@ -0,0 +1,94 @@
|
||||
# Script para criar senha segura para SUPERADMIN
|
||||
# Gera senha aleatoria forte e atualiza no banco
|
||||
|
||||
Write-Host "Gerando senha segura para SUPERADMIN..." -ForegroundColor Cyan
|
||||
Write-Host ""
|
||||
|
||||
# Gera senha forte (16 caracteres com maiusculas, minusculas, numeros e especiais)
|
||||
Add-Type -AssemblyName System.Web
|
||||
$newPassword = [System.Web.Security.Membership]::GeneratePassword(20, 5)
|
||||
# Garante que tem todos os tipos de caracteres
|
||||
$newPassword = "Ag@" + $newPassword + "2025!"
|
||||
|
||||
Write-Host "Nova senha gerada: $newPassword" -ForegroundColor Green
|
||||
Write-Host ""
|
||||
Write-Host "IMPORTANTE: Anote esta senha em local seguro!" -ForegroundColor Yellow
|
||||
Write-Host ""
|
||||
|
||||
# Salva em arquivo criptografado (apenas para emergencia)
|
||||
$securePasswordFile = "g:\Projetos\aggios-app\backups\.superadmin_password.txt"
|
||||
$newPassword | Out-File -FilePath $securePasswordFile -Force
|
||||
Write-Host "Senha salva em: $securePasswordFile" -ForegroundColor Cyan
|
||||
Write-Host "(Arquivo protegido - acesso restrito)" -ForegroundColor Gray
|
||||
Write-Host ""
|
||||
|
||||
# Gera hash bcrypt usando o backend em execucao
|
||||
Write-Host "Gerando hash bcrypt..." -ForegroundColor Yellow
|
||||
|
||||
# Cria script Go temporario para gerar o hash
|
||||
$goScript = @"
|
||||
package main
|
||||
import (
|
||||
"fmt"
|
||||
"golang.org/x/crypto/bcrypt"
|
||||
)
|
||||
func main() {
|
||||
hash, _ := bcrypt.GenerateFromPassword([]byte("$newPassword"), bcrypt.DefaultCost)
|
||||
fmt.Print(string(hash))
|
||||
}
|
||||
"@
|
||||
|
||||
# Salva e executa no container
|
||||
$goScript | Out-File -FilePath "g:\Projetos\aggios-app\backend\temp_hash.go" -Encoding UTF8 -Force
|
||||
|
||||
# Copia para o container builder e gera o hash
|
||||
$hash = docker run --rm -v "g:\Projetos\aggios-app\backend:/app" -w /app golang:1.23-alpine sh -c "go run temp_hash.go"
|
||||
|
||||
if ($LASTEXITCODE -eq 0) {
|
||||
Write-Host "Hash gerado com sucesso!" -ForegroundColor Green
|
||||
|
||||
# Cria SQL file para atualizar
|
||||
$sqlContent = @"
|
||||
DELETE FROM users WHERE email = 'admin@aggios.app';
|
||||
INSERT INTO users (id, email, password_hash, first_name, last_name, role, is_active, created_at, updated_at)
|
||||
VALUES (
|
||||
gen_random_uuid(),
|
||||
'admin@aggios.app',
|
||||
'$hash',
|
||||
'Super',
|
||||
'Admin',
|
||||
'SUPERADMIN',
|
||||
true,
|
||||
NOW(),
|
||||
NOW()
|
||||
);
|
||||
SELECT 'Usuario criado com sucesso!' as status;
|
||||
"@
|
||||
|
||||
$sqlFile = "g:\Projetos\aggios-app\backups\.update_superadmin.sql"
|
||||
$sqlContent | Out-File -FilePath $sqlFile -Encoding UTF8 -Force
|
||||
|
||||
# Executa no banco
|
||||
docker cp $sqlFile aggios-postgres:/tmp/update_admin.sql
|
||||
docker exec aggios-postgres psql -U aggios aggios_db -f /tmp/update_admin.sql
|
||||
|
||||
# Remove arquivo temporario
|
||||
Remove-Item "g:\Projetos\aggios-app\backend\temp_hash.go" -Force -ErrorAction SilentlyContinue
|
||||
Remove-Item $sqlFile -Force -ErrorAction SilentlyContinue
|
||||
|
||||
Write-Host ""
|
||||
Write-Host "========================================" -ForegroundColor Green
|
||||
Write-Host " SENHA ATUALIZADA COM SUCESSO!" -ForegroundColor Green
|
||||
Write-Host "========================================" -ForegroundColor Green
|
||||
Write-Host ""
|
||||
Write-Host "Credenciais do SUPERADMIN:" -ForegroundColor Cyan
|
||||
Write-Host "Email: admin@aggios.app" -ForegroundColor White
|
||||
Write-Host "Senha: $newPassword" -ForegroundColor White
|
||||
Write-Host ""
|
||||
Write-Host "ANOTE ESTA SENHA EM LOCAL SEGURO!" -ForegroundColor Yellow
|
||||
Write-Host ""
|
||||
|
||||
} else {
|
||||
Write-Host "Erro ao gerar hash!" -ForegroundColor Red
|
||||
exit 1
|
||||
}
|
||||
Reference in New Issue
Block a user