Liberty-Repository[8.5.5.4 oder höher]

OpenID Connect-Provider im Liberty-Profil konfigurieren

Sie können einen Liberty Profile-Server so konfigurieren, dass er als OpenID Connect-Provider oder Autorisierungsserver fungiert, um vom Web-SSO zu profitieren.

Informationen zu diesem Vorgang

Wenn Sie einen Liberty Profile-Server so konfigurieren möchten, dass er als OpenID Connect-Provider agiert, müssen Sie neben anderen Konfigurationsdaten das Feature openidConnectServer-1.0 aktivieren.

Vorgehensweise

  1. Fügen Sie das Liberty-Feature openidConnectServer-1.0 und alle weiteren benötigten Features zur Datei server.xml hinzu. Das Feature ssl-1.0 ist auch für das Feature openidConnectServer-1.0 erforderlich.
    <feature>openidConnectServer-1.0</feature>
    <feature>ssl-1.0</feature>
  2. Definieren Sie einen OAuth-Service-Provider. OpenID Connect basiert auf dem OAuth-2.0-Protokoll, sodass Sie einen gültigen OAuth-Service-Provider konfigurieren müssen. Zur Konfiguration eines OAuth-Service-Providers gehören die entsprechenden Elemente oauth-roles und oauthProvider sowie Benutzerregistryelemente. Einem Benutzer, der berechtigt ist, OpenID Connect zu verwenden, muss die Rolle authenticated oauth-role zugeordnet sein. Weitere Informationen finden Sie unter OAuth-Service-Provider definieren.

    Die OAuth-Metadaten werden für OpenID Connect aktualisiert. Die wichtigsten Zusätze sind Zusätze zu den Clientmetadaten. Wenn Sie für die Clientregistrierung den Modus databaseStore verwenden, lesen Sie die Informationen unter Akzeptieren von Clientregistrierungsanforderungen durch einen OpenID Connect-Provider konfigurieren. Bei der Verwaltung von Clients sollten Sie sich an die Anweisungen in dem Dokument halten. Wenn Sie für die Clientregistrierung den Modus localStore verwenden, können Sie scope, preAuthorizedScope, grantTypes, responseTypes, introspectTokens und functionalUserId sowie weitere Attribute registrieren.

  3. Fügen Sie ein Element openidConnectProvider hinzu, dessen Attribut oauthProviderRef auf den konfigurierten oauthProvider verweist. Auf jeden oauthProvider kann nur ein openidConnectProvider verweisen. Zwei oder mehr Elemente openidConnectProvider können nicht von demselben oauthProvider referenziert werden. Die Attribute name und secret des Clientelements müssen mit der Client-ID (client ID) und dem geheimen Clientschlüssel (client secret) des entsprechenden OpenID-Connect-Clients übereinstimmen. In diesem Beispiel wird der Standard-OpenID-Connect-Client des Liberty Profile-Servers verwendet.
    Anmerkung: Der OP in diesem Beispiel erwartet, dass der SSL-Port des Clients auf 443 gesetzt ist.
    <openidConnectProvider id="OidcConfigSample" oauthProviderRef="OAuthConfigSample" /> 
    
    <oauthProvider id="OAuthConfigSample"> 
    <localStore>
    <client name="client01" secret="{xor}LDo8LTor"
    displayname="client01" 
    scope="openid profile email" 
    redirect="https://server.example.com:443/oidcclient/redirect/client01"/> 
    </localStore>
    </oauthProvider>
    Anmerkung: Ein gültiger Client muss seinen Namen, seine Weiterleitung, seinen Bereich und seinen geheimen Schlüssel für den Grant-Typ authorization_code registrieren.
  4. Konfigurieren Sie den Truststore des Servers so, dass die Unterzeichnerzertifikate der unterstützten OpenID-Connect-Relying-Partys oder -Clients 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}Lz4sLCgwLTs=" type="jks" location="${server.config.dir}/resources/security/BasicKeyStore.jks" /> 
    <keyStore id="myTrustStore" password="{xor}Lz4sLCgwLTs=" 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.

    Die Benutzereinwilligungserklärung von OpenID Connect ist als Plug-in verfügbar, sodass Provider eine eigene Einwilligungserklärung erstellen und pflegen können. Da dieses Formular über SSL abgerufen wird, müssen Sie den Truststore so konfigurieren, dass das Unterzeichnerzertifikat des Servers, der die Einwilligungserklärung bereitstellt, aufgenommen wird. Wenn das Standardformular für die Einwilligungserklärung verwendet wird und der für OpenID Connect verwendete Truststore nicht der vom Liberty Profile-Server verwendete Keystore ist, müssen Sie das Unterzeichnerzertifikat des Liberty Profile-Servers in den OpenID-Connect-Truststore importieren.

    Weitere Konfigurationsoptionen für den OpenID Connect-Provider finden Sie unter Konfigurationselemente in der Datei 'server.xml'.

    Anmerkung: Für die Verwendung von OpenID Connect muss das Attribut scope in der Bereichsliste den Eintrag openid enthalten.

Ergebnisse

Sie haben die Mindestkonfiguration für einen Liberty Profile-Server fertiggestellt, der als OpenID Connect-Provider verwendet werden und mit anderen, als OpenID-Connect-Clients 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_op
Dateiname: twlp_config_oidc_op.html