
![[8.5.5.4 oder höher]](../ng_v8554.gif)
OpenID-Connect-Client im Liberty-Profil konfigurieren
Sie können einen Liberty Profile-Server so konfigurieren, dass er als OpenID-Connect-Client oder Relying Party fungiert, um vom Web-SSO zu profitieren und einen OpenID Connect-Provider als Identitätsprovider zu nutzen.
Informationen zu diesem Vorgang
Wenn Sie einen Liberty Profile-Server so konfigurieren möchten, dass er als OpenID-Connect-Client agiert, müssen Sie neben anderen Konfigurationsdaten das Feature openidConnectClient-1.0 aktivieren.
Vorgehensweise
- Fügen Sie das Liberty-Feature openidConnectClient-1.0 und alle weiteren benötigten Features zur
Datei server.xml hinzu.
Das Feature ssl-1.0 ist auch für das Feature openidConnectClient-1.0 erforderlich. Fügen Sie die folgende Elementdeklaration
im Element featureManager Ihrer Datei server.xml hinzu:
<feature>openidConnectClient-1.0</feature> <feature>ssl-1.0</feature>
- Konfigurieren Sie ein Element openidConnectClient. Im Folgenden sehen Sie ein Beispiel
für eine Minimalkonfiguration, die mit dem OpenID Connect-Provider des Liberty Profile-Servers funktioniert.
Dem Client muss unter einer URL mit dem gegebenen Muster eine angemessen konfigurierte Anwendung zur Verfügung stehen, die Umleitungsanforderungen von einem OpenID Connect-Provider handhaben kann. Diese URL muss auch genau mit der URL übereinstimmen, die für den Client mit dem OP registriert ist.
Anmerkung: Der Client in diesem Beispiel erwartet, dass der SSL-Port des OP auf 443 gesetzt ist.<openidConnectClient id="client01" clientId="client01" clientSecret="{xor}LDo8LTor" authorizationEndpointUrl="https://server.example.com:443/oidc/endpoint/OidcConfigSample/authorize" tokenEndpointUrl="https://server.example.com:443/oidc/endpoint/OidcConfigSample/token"> </openidConnectClient>
Für dieses Beispiel einer Minimalkonfiguration werden die folgenden Standardwerte vorausgesetzt:- scope=openid profile: Der Bereich openid ist erforderlich. Mit dem Attribut scope können Sie erforderliche Bereiche bearbeiten. Sie können den erforderlichen Bereich (scope) beispielsweise auf openid profile email setzen.
- Die RP registriert ihre Umleitungs-URL mit https://<Hostname>:<SSL-Port>/oidcclient/redirect/client01 beim OP. Der Hostname und der SSL-Port werden automatisch aufgelöst und client01 ist die ID des Konfigurationselements openidConnectClient. Wenn der RP ein Proxy vorgeschaltet ist, können Sie den Hostnamen und den Port mit dem Attribut redirectToRPHostAndPort überschreiben und redirectToRPHostAndPort auf https://<Hostname>:<SSL-Port> setzen.
- Konfigurieren Sie eine Benutzerregistry. Vom OP zurückgegebene Benutzeridentitäten werden standardmäßig keinem Benutzer in der Registry zugeordnet. In der Registry müssen daher keine Benutzer konfiguriert sein. Wenn jedoch das Attribut mapIdentityToRegistryUser des Elements openidConnectClient auf true gesetzt ist, muss es für die Identität, die vom OP zurückgegeben wird, einen Benutzereintrag geben, damit die Authentifizierung und Autorisierung funktionieren. Informationen zum Konfigurieren einer Benutzerregistry finden Sie unter Benutzerregistry für das Liberty-Profil konfigurieren.
- Konfigurieren Sie den Truststore des Servers so, dass die Unterzeichnerzertifikate der unterstützten OpenID Connect-Provider aufgenommen werden. Informationen zu Keystores finden Sie unter SSL-Kommunikation für das Liberty-Profil aktivieren.
- Modifizieren Sie die SSL-Konfiguration des Servers so, dass der konfigurierte Truststore verwendet wird.
<sslDefault sslRef="DefaultSSLSettings" /> <ssl id="DefaultSSLSettings" keyStoreRef="myKeyStore" trustStoreRef="myTrustStore" /> <keyStore id="myKeyStore" password="{xor}EzY9Oi0rJg==" type="jks" location="${server.config.dir}/resources/security/BasicKeyStore.jks" /> <keyStore id="myTrustStore" password="{xor}EzY9Oi0rJg==" type="jks" location="${server.config.dir}/resources/security/BasicTrustStore.jks" />
OpenID Connect ist für die Verwendung der vom Server angegebenen Standard-SSL-Konfiguration konfiguriert. Die Standard-SSL-Konfiguration für den Server muss daher den für OpenID Connect konfigurierten Truststore verwenden.
Bei Bedarf können Sie einen OpenID Connect-Provider eines anderen Anbieters konfigurieren.
Wenn Sie den OpenID-Connect-Client von Liberty für die Verwendung eines OpenID Connect-Providers eines anderen Anbieters (z. B. Microsoft Azure oder Google) konfigurieren möchten, müssen Sie die folgenden Attribute konfigurieren. Die Attributwerte können Sie anfordern, indem Sie den Erkennungsendpunkt des OP aufrufen, der für den Aussteller unter einem Pfad, der durch Verkettung der Zeichenfolge /.well-known/openid-configuration gebildet wird, ein JSON-Dokument bereitstellt.
- Setzen Sie das Attribut jwkEndpointUrl auf die URL des JWK-Dokuments (JSON Web Key Set) des OP, die in der Erkennungsdatei als jwks_uri definiert ist. Wenn Sie beispielsweise den OP von Google verwenden möchten, können Sie jwkEndpointUrl = "https://www.googleapis.com/oauth2/v2/certs" festlegen.
- Setzen Sie das Attribut issuerIdentifier auf den in der Erkennungsdatei definierten issuer. Ein ID-Token, das diesen Wert nicht als iss-Anspruch enthält, wird zurückgewiesen. Sie können beispielsweise issuerIdentifier="accounts.google.com" festlegen, wenn Sie Google als OP verwenden.
- Legen Sie signatureAlgorithm="RS256" fest. Der Standardsignaturalgorithmus des OpenID-Connect-Clients von Liberty ist HS256.
- Setzen Sie das Attribut userIdentityToCreateSubject auf den Namen eines Anspruchs, der von dem ID-Token des Anbieters, das die eindeutige ID eines Benutzers repräsentiert, verwendet wird. Sie können beispielsweise userIdentityToCreateSubject ="email" festlegen, wenn Sie den OP von Google verwenden, und userIdentityToCreateSubject ="upn" oder userIdentityToCreateSubject ="unique_name", wenn Sie Microsoft Azure verwenden.
- Setzen Sie das Attribut groupIdentifier auf den Namen des Anspruchs, der die Gruppenmitgliedschaft oder Rollen des Benutzers repräsentiert. Sie können beispielsweise groupIdentifier="groups" festlegen, wenn Sie Microsoft Azure verwenden.
Weitere Konfigurationsoptionen für den OpenID-Connect-Client finden Sie unter Konfigurationselemente in der Datei 'server.xml'.
Optional: Authentifizierungsfilter
Wenn das Feature openidConnectClient-1.0 aktiviert und das Element openidConnectClient nicht mit einem Attribut authFilterRef konfiguriert ist, werden alle nicht authentifizierten Anforderungen über den OpenID Connect-Provider authentifiziert.
Informationen zum Konfigurieren des Authentifizierungsfilters finden Sie unter
Authentifizierungsfilter.
- Unterstützung für mehrere OpenID Connect-Provider.
Sie können das Liberty-Profil als OpenID Connect-Relying-Party für mehrere OpenID Connect-Provider konfigurieren, indem Sie mehrere openidConnectClient-Elemente und mehrere Authentifizierungsfilter erstellen. Jedes openidConnectClient-Element definiert eine Single-Sign-On-Beziehung mit einem OpenID Connect-Provider. Verwenden Sie das Attribut authFilterRef, um auf einen Authentifizierungfilter zu verweisen.
Ergebnisse
Untergeordnete Themen
Berechtigungsendpunkt für OpenID Connect aufrufen
In OpenID Connect führt der Berechtigungsendpunkt die Authentifizierung und die Berechtigung eines Benutzers durch.Tokenendpunkt für OpenID Connect aufrufen
Im OpenID Connect-Berechtigungscodeablauf verwendet ein Client den Tokenendpunkt, um ein ID-Token, ein Zugriffstoken und ein Aktualisierungstoken abzurufen.Introspektionsendpunkt für OpenID Connect aufrufen
Der Introspektionsendpunkt ermöglicht Inhabern von Zugriffstokens, eine Gruppe von Metadaten zu einem Zugriffstoken von dem OpenID Connect-Provider anzufordern, der das Zugriffstoken ausgegeben hat. Voraussetzung ist, dass das Zugriffstoken von OpenID Connect oder von der OAuth-Authentifizierung abgerufen wurde.Coverage-Map-Service aufrufen
Der Coverage-Map-Service ist ein ungeschützter Endpunkt, der ein JSON-Array (JavaScript Object Notation) von URI-Präfixen zurückgibt, die mit Schrägstrichen enden. Das Array von URI-Präfixen gibt an, welche Webkontexte Teil einer SSO-Gruppe (Single Sign-on) sind, damit Clients entscheiden können, ob das Senden eines Zugriffstokens an ein bestimmtes URI-Ziel sicher ist.UserInfo-Endpunkt für OpenID Connect aufrufen
Der UserInfo-Endpunkt gibt Ansprüche für einen Benutzer zurück, der mit der OpenID Connect-Authentifizierung authentifiziert wird.Sitzungsmanagementendpunkt für OpenID Connect aufrufen
Mithilfe des Sitzungsmanagementendpunkts können OpenID-Connect-Relying-Partys den Anmeldestatus eines Benutzers eines bestimmten OpenID Connect-Providers (OP) bei gleichzeitig minimiertem Netzdatenverkehr überwachen. Mit dem Sitzungsmanagementendpunkt kann eine Relying Party (RP) einen Benutzer abmelden, der sich beim OpenID Connect-Provider abgemeldet hat.

Nutzungsbedingungen für Information Center | Feedback

http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=twlp_config_oidc_rp
Dateiname: twlp_config_oidc_rp.html