Citrix ADC

Citrix ADC en tant que SP OAuth

La fonctionnalité de gestion du trafic d’authentification, d’autorisation et d’audit prend en charge l’authentification OAuth pour authentifier les utilisateurs auprès d’applications hébergées sur des applications telles que Google, Facebook et Twitter.

Points à noter

  • Citrix ADC Advanced Edition et versions ultérieures sont nécessaires au fonctionnement de la solution.
  • OAuth sur l’appliance Citrix ADC est qualifié pour tous les IdP SAML conformes à « OpenID connect 2.0 ».

Important :

L’appliance Citrix ADC peut répondre par une erreur CSRF lorsqu’un site Web riche en contenu envoie plusieurs demandes d’authentification à l’expiration de la session. Pour contourner le problème, il est recommandé, lorsque vous configurez la stratégie OAuth, de vous assurer que la stratégie est configurée à la fois pour le nom d’hôte et le chemin d’accès qui sont les principaux points d’entrée.

Configurer OAuth à l’aide de l’interface graphique

  1. Configurez l’action et la stratégie OAuth.

    Accédez à Sécurité > AAA - Trafic des applications > Stratégies > Authentification > Stratégies avancées > Stratégie, puis créez une stratégie avec OAuth comme type d’action, puis associez l’action OAuth requise à la stratégie.

  2. Associez la stratégie OAuth à un serveur virtuel d’authentification.

    Accédez à Sécurité > AAA - Trafic des applications > Serveurs virtuels, puis associez la stratégie OAuth au serveur virtuel d’authentification.

Remarque :

Les attributs (1 à 16) peuvent être extraits dans la réponse OAuth. Ces attributs ne sont actuellement pas évalués. Ils sont ajoutés pour référence future.

Configurer OAuth à l’aide de la CLI

  1. Définissez une action OAuth.

    add authentication OAuthAction <name> -authorizationEndpoint <URL> -tokenEndpoint <URL> [-idtokenDecryptEndpoint <URL>] -clientID <string> -clientSecret <string> [-defaultAuthenticationGroup <string>][-tenantID <string>][-GraphEndpoint <string>][-refreshInterval <positive_integer>] [-CertEndpoint <string>][-audience <string>][-userNameField <string>][-skewTime <mins>][-issuer <string>][-Attribute1 <string>][-Attribute2 <string>][-Attribute3 <string>]
    <!--NeedCopy-->
    
  2. Associez l’action à une stratégie d’authentification avancée.

    add authentication Policy <name> -rule <expression> -action <string>
    <!--NeedCopy-->
    

    Exemple :

    add authentication oauthAction a -authorizationEndpoint https://example.com/ -tokenEndpoint https://example.com/ -clientiD sadf -clientsecret df
    <!--NeedCopy-->
    

Pour plus d’informations sur les paramètres OAuthAction d’ authentification, voir AuthAction AuthAction d’authentification.

Remarque :

Lorsqu’un CertEndpoint est spécifié, l’appliance Citrix ADC interroge ce point de terminaison à la fréquence configurée pour apprendre les clés.

Pour configurer un Citrix ADC pour lire le fichier local et analyser les clés de ce fichier, une nouvelle option de configuration est introduite comme suit :

set authentication OAuthAction <> -CertFilePath <path to local file with jwks>
<!--NeedCopy-->

La fonctionnalité OAuth prend désormais en charge les fonctionnalités suivantes dans l’API de jeton du côté de la partie de confiance (RP) et du côté IdP de Citrix Gateway et Citrix ADC.

  • Prise en charge de PKCE (Proof Key for Code Exchange)

  • Prise en charge de client_assertion

Prise en charge des attributs nom-valeur pour l’authentification OAuth

Vous pouvez désormais configurer les attributs d’authentification OAuth avec un nom unique ainsi que les valeurs. Les noms sont configurés dans le paramètre d’action OAuth en tant que « Attributs » et les valeurs sont obtenues en interrogeant les noms. Les attributs extraits sont stockés dans la session d’authentification, d’autorisation et d’audit. Les administrateurs peuvent interroger ces attributs à l’aide de http.req.user.attribute("attribute name") ou http.req.user.attribute(1), selon la méthode choisie pour spécifier les noms d’attributs.

En spécifiant le nom de l’attribut, les administrateurs peuvent facilement rechercher la valeur d’attribut associée à ce nom d’attribut. De plus, les administrateurs n’ont plus à se souvenir de « l’attribut1 à l’attribut16 » uniquement par son numéro.

Important

Dans une commande OAuth, vous pouvez configurer un maximum de 64 attributs séparés par des virgules avec une taille totale inférieure à 1 024 octets.

Remarque

L’échec de session peut être évité si la taille totale de la valeur de « l’attribut 1 à l’attribut 16 » et les valeurs des attributs spécifiés dans « Attributs » ne dépassent pas 10 Ko.

Pour configurer les attributs nom-valeur à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez :

add authentication OAuthAction <name> [-Attributes <string>]

set authentication OAuthAction <name> [-Attributes <string>]
<!--NeedCopy-->

Exemples :

add authentication OAuthAction a1 –attributes "email,company" –attribute1 email

set authentication OAuthAction oAuthAct1 -attributes "mail,sn,userprincipalName"
<!--NeedCopy-->
Citrix ADC en tant que SP OAuth