87 lines
3.1 KiB
PowerShell
87 lines
3.1 KiB
PowerShell
# Script pour vérifier l'état de Keycloak (realm unionflow)
|
|
# Usage: .\check-keycloak-state.ps1
|
|
|
|
Write-Host "=== Vérification Keycloak ===" -ForegroundColor Cyan
|
|
Write-Host ""
|
|
|
|
try {
|
|
# Test connexion Keycloak
|
|
$testUrl = Invoke-WebRequest -Uri 'http://localhost:8180' -UseBasicParsing -Method Get
|
|
Write-Host "[OK] Keycloak accessible" -ForegroundColor Green
|
|
} catch {
|
|
Write-Host "[ERREUR] Keycloak non accessible sur http://localhost:8180" -ForegroundColor Red
|
|
Write-Host "Démarrer avec: docker-compose up -d keycloak" -ForegroundColor Yellow
|
|
exit 1
|
|
}
|
|
|
|
# Obtenir le token admin
|
|
try {
|
|
$tokenResponse = Invoke-RestMethod -Method Post `
|
|
-Uri 'http://localhost:8180/realms/master/protocol/openid-connect/token' `
|
|
-ContentType 'application/x-www-form-urlencoded' `
|
|
-Body 'username=admin&password=admin&grant_type=password&client_id=admin-cli'
|
|
|
|
$token = $tokenResponse.access_token
|
|
Write-Host "[OK] Authentifié avec succès" -ForegroundColor Green
|
|
Write-Host ""
|
|
} catch {
|
|
Write-Host "[ERREUR] Impossible de s'authentifier à Keycloak" -ForegroundColor Red
|
|
Write-Host "Vérifier les credentials admin/admin" -ForegroundColor Yellow
|
|
exit 1
|
|
}
|
|
|
|
# Lister les realms
|
|
$realms = Invoke-RestMethod -Method Get `
|
|
-Uri 'http://localhost:8180/admin/realms' `
|
|
-Headers @{ Authorization = "Bearer $token" }
|
|
|
|
Write-Host "=== REALMS DISPONIBLES ===" -ForegroundColor Cyan
|
|
$realms | ForEach-Object { Write-Host " - $($_.realm)" }
|
|
|
|
# Vérifier realm unionflow
|
|
$unionflow = $realms | Where-Object { $_.realm -eq 'unionflow' }
|
|
|
|
if (-not $unionflow) {
|
|
Write-Host "`n[ERREUR] Realm 'unionflow' non trouvé" -ForegroundColor Red
|
|
exit 1
|
|
}
|
|
|
|
Write-Host "`n[OK] Realm 'unionflow' existe" -ForegroundColor Green
|
|
|
|
# Utilisateurs
|
|
$users = Invoke-RestMethod -Method Get `
|
|
-Uri 'http://localhost:8180/admin/realms/unionflow/users' `
|
|
-Headers @{ Authorization = "Bearer $token" }
|
|
|
|
Write-Host "`n=== UTILISATEURS (total: $($users.Count)) ===" -ForegroundColor Cyan
|
|
$users | ForEach-Object {
|
|
Write-Host " - $($_.username) | $($_.email)"
|
|
}
|
|
|
|
# Clients
|
|
$clients = Invoke-RestMethod -Method Get `
|
|
-Uri 'http://localhost:8180/admin/realms/unionflow/clients' `
|
|
-Headers @{ Authorization = "Bearer $token" }
|
|
|
|
Write-Host "`n=== CLIENTS ===" -ForegroundColor Cyan
|
|
$mobileClient = $null
|
|
$clients | Where-Object { $_.clientId -like '*unionflow*' } | ForEach-Object {
|
|
Write-Host " - $($_.clientId)"
|
|
if ($_.clientId -eq 'unionflow-mobile') {
|
|
$mobileClient = $_
|
|
}
|
|
}
|
|
|
|
if ($mobileClient) {
|
|
Write-Host "`n[OK] Client 'unionflow-mobile' existe" -ForegroundColor Green
|
|
} else {
|
|
Write-Host "`n[ERREUR] Client 'unionflow-mobile' non trouvé" -ForegroundColor Red
|
|
}
|
|
|
|
Write-Host "`n=== RÉSUMÉ ===" -ForegroundColor Cyan
|
|
Write-Host "Realm unionflow: OK" -ForegroundColor Green
|
|
Write-Host "Client unionflow-mobile: $(if ($mobileClient) { 'OK' } else { 'MANQUANT' })" -ForegroundColor $(if ($mobileClient) { 'Green' } else { 'Red' })
|
|
Write-Host "Utilisateurs: $($users.Count)"
|
|
Write-Host ""
|
|
Write-Host "Prêt pour les tests d'intégration mobile !" -ForegroundColor Green
|