Redirection OAuth
Pris en charge sur : Toutes les plates-formes Citrix Workspace prises en charge
Description
La redirection OAuth permet de configurer des modèles d'URL pour permettre aux connexions OAuth d'être redirigées via la redirection bidirectionnelle du contenu. -Modèle OAuth : indique la liste des expressions régulières d'URL qui, lorsqu'elles sont redirigées vers le client via la redirection d'URL hôte vers client, seront suivies comme si un flux d'authentification OAuth avait commencé, et lorsque le flux se termine, l'URL résultante est redirigée vers le VDA hôte qui a initié ce flux. Le point-virgule (;) agit en tant que délimiteur. -Schéma OAuth : indique le schéma des URL. Si un schéma est spécifié, l'URL de fin doit être au format : schéma://xxxxxx. Si aucun schéma n'est spécifié (vide), le modèle d'origine de l'URL résultante est extrait du modèle via un groupe de capture d'expressions régulières (doit être spécifié dans le modèle). Le point-virgule (;) agit en tant que délimiteur. Remarque : 1) Le nombre de modèles et les entrées de schéma doivent correspondre. Si aucun schéma n'est spécifié pour le modèle, entrez ';' pour un schéma vide 2) La redirection OAuth ne fonctionne que si BidirectionalContentRedirection est activé
Registre
Software\Policies\Citrix\ICA Client\OAuth Redirection Nom de valeur : AllowOAuthRedirection
Activé : AllowOAuthRedirection = 1
Désactivé : AllowOAuthRedirection = 0
Cette stratégie définit plusieurs valeurs de registre :
URL Protocol citrix-oauth-redir URL Protocol = REG Builder
BETAConfigurez l'état et les éléments pour générer les sorties .reg, PowerShell, Intune et SCCM.
Ces exports reproduisent l'effet registre de la stratégie. Modifier le registre directement n'équivaut pas à appliquer la GPO via la console (pas de gpupdate, pas de suivi centralisé). Testez avant la production ; HKLM nécessite des droits administrateur.
Fichier .reg
Windows Registry Editor Version 5.00
; Exported from gporais.com
; Policy: Redirection OAuth
; State: Enabled
; Supported on: Toutes les plates-formes Citrix Workspace prises en charge
[HKEY_CURRENT_USER\Software\Policies\Citrix\ICA Client\OAuth Redirection]
"AllowOAuthRedirection"=dword:00000001
"Pattern"=""
"Scheme"=""
[HKEY_CURRENT_USER\Software\Classes\citrix-oauth-redir]
"URL Protocol"="" PowerShell
# Exported from gporais.com
# Policy: Redirection OAuth
# State: Enabled
# Supported on: Toutes les plates-formes Citrix Workspace prises en charge
$path = 'HKCU:\Software\Policies\Citrix\ICA Client\OAuth Redirection'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'AllowOAuthRedirection' -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name 'Pattern' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'Scheme' -Value '' -Type String
$path = 'HKCU:\Software\Classes\citrix-oauth-redir'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'URL Protocol' -Value '' -Type String Intune XML
Aucune correspondance directe Policy CSP / OMA-URI pour cette stratégie. Utilisez l'onglet Intune Remediation, ou importez l'ADMX dans Intune. Intune Remediation
# === Detection script ===
# Exported from gporais.com
# Policy: Redirection OAuth
# State: Enabled
# Supported on: Toutes les plates-formes Citrix Workspace prises en charge
function Test-RegistryValue {
param(
[Parameter(Mandatory = $true)][string]$Path,
[Parameter(Mandatory = $true)][string]$Name,
[object]$Expected,
[ValidateSet('String', 'DWord', 'MultiString')][string]$Kind = 'String',
[switch]$Absent
)
try {
$item = Get-ItemProperty -LiteralPath $Path -Name $Name -ErrorAction Stop
} catch {
return $Absent.IsPresent
}
if ($Absent.IsPresent) { return $false }
$actual = $item.$Name
if ($Kind -eq 'DWord') { return ([int64]$actual) -eq ([int64]$Expected) }
if ($Kind -eq 'MultiString') {
$actualValues = @($actual)
$expectedValues = @($Expected)
if ($actualValues.Count -ne $expectedValues.Count) { return $false }
for ($i = 0; $i -lt $expectedValues.Count; $i++) {
if ([string]$actualValues[$i] -ne [string]$expectedValues[$i]) { return $false }
}
return $true
}
return [string]$actual -eq [string]$Expected
}
$checks = @(
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Citrix\ICA Client\OAuth Redirection' -Name 'AllowOAuthRedirection' -Expected 1 -Kind DWord)
(Test-RegistryValue -Path 'HKCU:\Software\Classes\citrix-oauth-redir' -Name 'URL Protocol' -Expected '' -Kind String)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Citrix\ICA Client\OAuth Redirection' -Name 'Pattern' -Expected '' -Kind String)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Citrix\ICA Client\OAuth Redirection' -Name 'Scheme' -Expected '' -Kind String)
)
if ($checks -notcontains $false) {
Write-Output 'Compliant'
exit 0
}
Write-Output 'Non-compliant'
exit 1
# === Remediation script ===
# Exported from gporais.com
# Policy: Redirection OAuth
# State: Enabled
# Supported on: Toutes les plates-formes Citrix Workspace prises en charge
$path = 'HKCU:\Software\Policies\Citrix\ICA Client\OAuth Redirection'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'AllowOAuthRedirection' -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name 'Pattern' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'Scheme' -Value '' -Type String
$path = 'HKCU:\Software\Classes\citrix-oauth-redir'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'URL Protocol' -Value '' -Type String SCCM CI
# Exported from gporais.com
# Policy: Redirection OAuth
# State: Enabled
# Supported on: Toutes les plates-formes Citrix Workspace prises en charge
# SCCM Configuration Item guidance:
# Create a Configuration Item of type "Setting: Script".
# Discovery script: use the Detection script below.
# Remediation script: use the Remediation script below.
# Compliance rule: the Discovery script output equals 'Compliant'.
# === Detection script ===
# Exported from gporais.com
# Policy: Redirection OAuth
# State: Enabled
# Supported on: Toutes les plates-formes Citrix Workspace prises en charge
function Test-RegistryValue {
param(
[Parameter(Mandatory = $true)][string]$Path,
[Parameter(Mandatory = $true)][string]$Name,
[object]$Expected,
[ValidateSet('String', 'DWord', 'MultiString')][string]$Kind = 'String',
[switch]$Absent
)
try {
$item = Get-ItemProperty -LiteralPath $Path -Name $Name -ErrorAction Stop
} catch {
return $Absent.IsPresent
}
if ($Absent.IsPresent) { return $false }
$actual = $item.$Name
if ($Kind -eq 'DWord') { return ([int64]$actual) -eq ([int64]$Expected) }
if ($Kind -eq 'MultiString') {
$actualValues = @($actual)
$expectedValues = @($Expected)
if ($actualValues.Count -ne $expectedValues.Count) { return $false }
for ($i = 0; $i -lt $expectedValues.Count; $i++) {
if ([string]$actualValues[$i] -ne [string]$expectedValues[$i]) { return $false }
}
return $true
}
return [string]$actual -eq [string]$Expected
}
$checks = @(
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Citrix\ICA Client\OAuth Redirection' -Name 'AllowOAuthRedirection' -Expected 1 -Kind DWord)
(Test-RegistryValue -Path 'HKCU:\Software\Classes\citrix-oauth-redir' -Name 'URL Protocol' -Expected '' -Kind String)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Citrix\ICA Client\OAuth Redirection' -Name 'Pattern' -Expected '' -Kind String)
(Test-RegistryValue -Path 'HKCU:\Software\Policies\Citrix\ICA Client\OAuth Redirection' -Name 'Scheme' -Expected '' -Kind String)
)
if ($checks -notcontains $false) {
Write-Output 'Compliant'
exit 0
}
Write-Output 'Non-compliant'
exit 1
# === Remediation script ===
# Exported from gporais.com
# Policy: Redirection OAuth
# State: Enabled
# Supported on: Toutes les plates-formes Citrix Workspace prises en charge
$path = 'HKCU:\Software\Policies\Citrix\ICA Client\OAuth Redirection'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'AllowOAuthRedirection' -Value 1 -Type DWord
Set-ItemProperty -Path $path -Name 'Pattern' -Value '' -Type String
Set-ItemProperty -Path $path -Name 'Scheme' -Value '' -Type String
$path = 'HKCU:\Software\Classes\citrix-oauth-redir'
New-Item -Path $path -Force | Out-Null
Set-ItemProperty -Path $path -Name 'URL Protocol' -Value '' -Type String