Liberty-Repository[8.5.5.4 oder höher]

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

  1. 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>
  2. 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.
  3. 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.
  4. 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.
  5. 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.

  6. [8.5.5.5 oder höher]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.

    1. 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.
    2. 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.
    3. Legen Sie signatureAlgorithm="RS256" fest. Der Standardsignaturalgorithmus des OpenID-Connect-Clients von Liberty ist HS256.
    4. 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.
    5. 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'.

  7. [8.5.5.5 oder höher]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 Liberty-Repository[8.5.5.5 oder höher]Authentifizierungsfilter.

  8. 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

Sie haben die Mindestkonfiguration für einen Liberty Profile-Server erstellt, der als OpenID-Connect-Client verwendet werden und mit anderen, als OpenID Connect-Provider konfigurierten Liberty Profile-Servern kommunizieren können soll.

Symbol das den Typ des Artikels anzeigt. Taskartikel

Nutzungsbedingungen für Information Center | Feedback


Symbol für Zeitmarke Letzte Aktualisierung: 25.08.2015
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