Angepasste OAuth-TAI-Eigenschaften
In den folgenden Tabellen sind die angepassten Eigenschaften für den OAuth-TAI aufgelistet. Diese Eigenschaften können über die Administrationskonsole in der Anzeige für angepasste Eigenschaften für den OAuth-TAI definiert werden.
Damit eindeutige Eigenschaftsnamen zugeordnet werden können, die jeden möglichen OAuth-Provider angeben, ist im Eigenschaftsnamen eine provider_<id> enthalten. Sie wird verwendet, um die jedem Provider zugeordneten Eigenschaften zu gruppieren. Die provider_<id>s sind für jeden Service-Provider fortlaufend nummeriert.
In der folgenden Tabelle sind die angepassten OAuth-TAI-Eigenschaften beschrieben:
Eigenschaftsname | Werte | Beschreibung |
---|---|---|
provider_<id>.name | Sie können einen beliebigen Zeichenfolgewert angeben. | Diese Eigenschaft gibt den Namen des OAuth-Providers an. Der Wert dieser Eigenschaft |
provider_<id>.filter | Diese Eigenschaft hat keinen Standardwert. | Mit dieser Eigenschaft wird eine Bedingung angegeben, die für eine HTTP-Anforderung geprüft wird, um festzustellen, |
provider_<id>.oauthOnly | Sie können einen der folgenden Werte angeben:
|
Wenn eine Clientanforderung die OAuth-Berechtigungen, z. B. ein Zugriffstoken, nicht enthält, gibt diese Eigenschaft an, |
OAuth-TAI-Filtereigenschaft
Die OAuth-TAI-Filtereigenschaft provider_<id>.filter ist eine erforderliche Eigenschaft, mit der Ressourcen angegeben werden, die vom OAuth-Provider geschützt werden.
- Erforderliche Eingabe: Das Eingabeelement gibt normalerweise einen HTTP-Headernamen an, aber request-url und remote-address können ebenfalls als spezielle Elemente verwendet werden.
- Operator: Das Element operator gibt einen der folgenden Werte an: ==, !=, %=, ^=, < und >
- Vergleichswert: Dieses Element gibt normalerweise eine Zeichenfolge an, IP-Adressbereiche sind jedoch ebenfalls zulässig.
Die Bedingungen werden in der Reihenfolge, in der sie im Vergleichswert angegeben sind, von links nach rechts ausgewertet. Werden alle von einem OAuth-Provider angegebenen Filterbedingungen in einer HTTP-Anforderung erfüllt, wird der OAuth-Provider für die HTTP-Anforderung ausgewählt.
Das Eingabeelement gibt ein Headerfeld in der HTTP-Anforderung an, das aus der Anforderung extrahiert werden soll. Sein Wert wird mit dem in der Filtereigenschaft angegebenen Wert verglichen. Wenn das mit dem Eingabeelement ermittelte Headerfeld in der HTTP-Anforderung nicht vorhanden ist, gilt die Bedingung als nicht erfüllt. Als Eingabeelement in der Filterbedingung kann jedes Headerfeld einer Standard-HTTP-Anforderung verwendet werden. In der HTTP-Spezifikation finden Sie eine Liste gültiger Header.
- request-url: Der Vergleichswert dieser Eingabe wird mit der URL-Adresse verglichen, die die Clientanwendung für die Anforderung verwendet.
- request-uri: Dieses Element ist ähnlich dem Element request-url, aber die in der Anforderungs-URL-Adresse enthaltene Abfragezeichenfolge wird nicht im Abgleich verwendet.
- remote-address: Der Vergleichswert dieser Eingabe wird mit der TCP/IP-Adresse der Clientanwendung verglichen, die die HTTP-Anforderung gesendet hat.
Beispiele
provider_1.filter=From==oauthuser@xyz.com
In diesem Fall
gilt Folgendes: Wenn eine Clientanforderung
das HTTP-Header-Feld From mit dem Wert
oauthuser@xyz.com enthält, wählt der
OAuth-TAI den Provider dieses
provider_1-Filters für die Verarbeitung der Clientanforderung aus.provider_2.filter=request-url%=ivtlanding.jsp
In diesem Fall
gilt Folgendes: Wenn der URL der vom Client aufgerufenen geschützten Anwendung
die Zeichenfolge
ivtlanding.jsp enthält, wählt der
OAuth-TAI den Provider dieses provider_2-Filters für die Verarbeitung der Clientanforderung aus.provider_3.filter=applicationNames==DefaultApplication
In diesem Fall gilt Folgendes:
Wenn der Name der von der Clientanwendung aufgerufenen Zielanwendung
DefaultApplication lautet, wählt der
OAuth-TAI den Provider dieses
provider_3-Filters für die Verarbeitung der Clientanforderung aus.Operator | Bedingung | Beispiel |
---|---|---|
== | Dieser Operator gibt eine exakte Übereinstimmung an. Das Eingabeelement muss dem Vergleichswert entsprechen. | From==jones@my.company.com |
%= | Dieser Operator gibt eine partielle Übereinstimmung an. Das Eingabeelement enthält den Vergleichswert. | user-agent%=IE 6 |
^= | Das Eingabeelement enthält einen der Vergleichswerte. | request-url^=urlApp1|urlApp2| urlApp3 |
!= | Das Eingabeelement enthält den Vergleichswert nicht. | request-url!=SPNEGO |
> | Das Eingabeelement ist größer als der Vergleichswert. | remote-address>192.168.255.130 |
< | Das Eingabeelement ist kleiner als der Vergleichswert. | remote-address<192.168.255.135 |