Citrix ADC

Citrix ADC als OAuth SP

Die Authentifizierungs-, Autorisierungs- und Überwachungsfunktion zur Verkehrsverwaltung unterstützt die OAuth-Authentifizierung zur Authentifizierung von Benutzern gegenüber Anwendungen, die auf Anwendungen wie Google, Facebook und Twitter gehostet werden.

Wichtige Hinweise

  • Citrix ADC Advanced Edition und höher ist erforderlich, damit die Lösung funktioniert.
  • OAuth auf der Citrix ADC Appliance ist für alle SAML-IdPs qualifiziert, die mit “OpenID Connect 2.0” kompatibel sind.

Wichtig:

Die Citrix ADC Appliance reagiert möglicherweise mit einem CSRF-Fehler, wenn eine inhaltsreiche Website nach Ablauf der Sitzung mehrere Authentifizierungsanforderungen sendet. Als Problemumgehung wird empfohlen, dass Sie bei der Konfiguration der OAuth-Richtlinie sicherstellen, dass die Richtlinie sowohl für den Hostnamen als auch für den Pfad konfiguriert ist, die die Haupteintrittspunkte sind.

Konfigurieren von OAuth über die GUI

  1. Konfigurieren Sie die OAuth -Aktion und -Richtlinie.

    Navigieren Sie zu Sicherheit > AAA — Anwendungsdatenverkehr > Richtlinien > Authentifizierung > Erweiterte Richtlinien > Richtlinie, erstellen Sie eine Richtlinie mit OAuth als Aktionstyp, und verknüpfen Sie die erforderliche OAuth-Aktion mit der Richtlinie.

  2. Ordnen Sie die OAuth-Richtlinie einem virtuellen Authentifizierungsserver zu.

    Navigieren Sie zu Sicherheit > AAA — Anwendungsdatenverkehr > Virtuelle Server, und ordnen Sie die OAuth-Richtlinie dem virtuellen Authentifizierungsserver zu.

Hinweis:

Attribute (1 bis 16) können in der OAuth-Antwort extrahiert werden. Derzeit werden diese Attribute nicht ausgewertet. Sie werden zur zukünftigen Bezugnahme hinzugefügt.

Konfigurieren von OAuth über die CLI

  1. Definieren Sie eine OAuth-Aktion.

    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. Ordnen Sie die Aktion einer erweiterten Authentifizierungsrichtlinie zu.

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

    Beispiel:

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

Weitere Informationen zur Authentifizierung von OAuthAction-Parametern finden Sie unter Authentifizierung OAuthAction.

Hinweis:

Wenn ein CertEndPoint angegeben wird, fragt die Citrix ADC Appliance diesen Endpunkt mit der konfigurierten Frequenz ab, um die Schlüssel zu lernen.

Um einen Citrix ADC so zu konfigurieren, dass er die lokale Datei liest und Schlüssel aus dieser Datei analysiert, wird eine neue Konfigurationsoption wie folgt eingeführt:

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

Die OAuth-Funktion unterstützt jetzt die folgenden Funktionen in der Token-API von Relying Party (RP) und von der IdP-Seite von Citrix Gateway und Citrix ADC.

  • Unterstützung von PKCE (Proof Key for Code Exchange)

  • Unterstützung für client_assertion

Unterstützung von Name-Wert-Attributen für OAuth-Authentifizierung

Sie können jetzt OAuth-Authentifizierungsattribute mit einem eindeutigen Namen zusammen mit den Werten konfigurieren. Die Namen werden im Aktionsparameter von OAuth entweder als “Attribute” konfiguriert und die Werte werden durch Abfragen der Namen abgerufen. Die extrahierten Attribute werden in der Authentifizierungs-, Autorisierungs- und Überwachungssitzung gespeichert. Administratoren können diese Attribute entweder mit http.req.user.attribute("attribute name") oder http.req.user.attribute(1) abfragen, basierend auf der ausgewählten Methode zur Angabe von Attributnamen.

Durch Angabe des Attributnamens können Administratoren einfach nach dem Attributwert suchen, der mit diesem Attributnamen verknüpft ist. Außerdem müssen sich Administratoren das “attribute1 to attribute16” nicht mehr allein anhand seiner Nummer merken.

Wichtig

In einem OAuth-Befehl können Sie maximal 64 durch Komma getrennte Attribute mit einer Gesamtgröße von weniger als 1024 Byte konfigurieren.

Hinweis

Der Sitzungsfehler kann vermieden werden, wenn die Gesamtwertgröße von “Attribut 1 bis Attribut 16” und die Werte der in “Attribute” angegebenen Attribute nicht mehr als 10 KB betragen.

So konfigurieren Sie die Name-Wert-Attribute mit der CLI

Geben Sie an der Eingabeaufforderung Folgendes ein:

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

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

Beispiele:

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

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