Files
unionflow-mobile-apps/scripts/list-user-roles.ps1
dahoud d094d6db9c Initial commit: unionflow-mobile-apps
Application Flutter complète (sans build artifacts).

Signed-off-by: lions dev Team
2026-03-15 16:30:08 +00:00

63 lines
2.2 KiB
PowerShell

# Script pour lister les rôles des utilisateurs Keycloak
# Usage: .\list-user-roles.ps1 [username]
# Exemple: .\list-user-roles.ps1 admin.meska@unionflow.test
param(
[string]$Username = ""
)
Write-Host "=== Rôles des Utilisateurs (Realm: unionflow) ===" -ForegroundColor Cyan
Write-Host ""
# Obtenir le token admin
$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
# Récupérer les utilisateurs
$users = Invoke-RestMethod -Method Get `
-Uri 'http://localhost:8180/admin/realms/unionflow/users' `
-Headers @{ Authorization = "Bearer $token" }
# Filtrer si un username est spécifié
if ($Username) {
$users = $users | Where-Object { $_.username -eq $Username }
if (-not $users) {
Write-Host "[ERREUR] Utilisateur '$Username' non trouvé" -ForegroundColor Red
exit 1
}
}
# Parcourir les utilisateurs
foreach ($user in $users) {
Write-Host "[$($user.username)]" -ForegroundColor Yellow
Write-Host " Email: $($user.email)"
Write-Host " Enabled: $($user.enabled)"
# Realm roles
$realmRoles = Invoke-RestMethod -Method Get `
-Uri "http://localhost:8180/admin/realms/unionflow/users/$($user.id)/role-mappings/realm" `
-Headers @{ Authorization = "Bearer $token" }
if ($realmRoles) {
Write-Host " Rôles:"
$realmRoles | Where-Object { $_.name -ne 'default-roles-unionflow' -and $_.name -ne 'offline_access' -and $_.name -ne 'uma_authorization' } | ForEach-Object {
Write-Host " - $($_.name)" -ForegroundColor Green
}
}
Write-Host ""
}
Write-Host "=== Rôles Disponibles ===" -ForegroundColor Cyan
$allRoles = Invoke-RestMethod -Method Get `
-Uri "http://localhost:8180/admin/realms/unionflow/roles" `
-Headers @{ Authorization = "Bearer $token" }
$allRoles | Where-Object { $_.name -notlike 'default-*' -and $_.name -ne 'offline_access' -and $_.name -ne 'uma_authorization' } | ForEach-Object {
Write-Host " - $($_.name)"
}