[16.0.0.4 und höher]

JWT-Token in Liberty konsumieren

Sie können JWT-Token programmgesteuert überprüfen und analysieren, indem Sie in der Serverkonfiguration ein JWT-Consumer-Element konfigurieren und die APIs com.ibm.websphere.security.jwt.JwtConsumer und com.ibm.websphere.security.jwt.JwtToken in Ihren Anwendungen implementieren.

Informationen zu diesem Vorgang

Weitere Informationen zu JWT-APIs finden Sie in der JSON-Web-Token-Java-Dokumenation oder in der API-Dokumentation, die im Lieferumfang des Produkts enthalten ist und im Verzeichnis ${wlp.install.dir}/dev bereitgestellt wird.

Vorgehensweise

  1. Fügen Sie der Datei server.xml das Feature jwt-1.0 hinzu.
    <featureManager>     <feature>jwt-1.0</feature>
        ...
    </featureManager>
  2. Konfigurieren Sie den JWT-Cconsumer, indem Sie das jwtConsumer-Element ändern.

    Weitere Informationen zu jwtConsumer-Attributen, die Sie konfigurieren können, finden Sie unter JWT-Konsument (jwtConsumer).

    Wenn Sie das Feature jwt-1.0 hinzugefügt und Ihre Änderungen gespeichert haben, fügt Liberty das folgende jwtConsumer-Standardelement hinzu.
    <jwtConsumer id="defaultJWTConsumer">
    </jwtConsumer>
    In dieser Standardkonfiguration wird von den folgenden Standardwerten ausgegangen:
    • Der alg-Header des konsumierten JWT-Tokens ist RS256. Sie können diesen Wert über das signatureAlgorithm-Attribut konfigurieren.
    • Bei einem JWT-Token wird eine Gültigkeitsdauer von 5 Minuten innerhalb der exp-, nbf- und iat-Ansprüche angenommen. Sie können diesen Wert über das Attribut clockSkew konfigurieren.

    Sie können dieses jwtConsumer-Standardelement erneut konfigurieren, oder ein oder mehrere weitere jwtConsumer-Elemente erstellen. Jedes jwtConsumer-Element muss eine eindeutige, URL-konforme Zeichenfolge haben, die als id-Attribut angegeben wird. Wenn die ID fehlt, wird das jwtConsumer-Element nicht verarbeitet.

    Sie müssen für JWT-Token, die mit RS256 und einem X.509-Zertifikat signiert werden, die Attribute trustStoreRef und trustAliasName konfigurieren, damit Sie den Signaturprüfungsschlüssel lokalisieren können.
    1. Importieren Sie das X.509-Zertifikat des JWT-Ausssteller in den Truststore.
    2. Geben Sie im jwtConsumer-Element die Truststore-ID und den Zertifikatsaliasnamen an.
      <jwtConsumer id="defaultJWTConsumer" trustStoreRef="truststore_id" trustAliasName="certificate_alias">
      </jwtConsumer>
  3. Überprüfen und analysieren Sie JWT-Token programmgesteuert, indem Sie die APIs com.ibm.websphere.security.jwt.JwtConsumer und com.ibm.websphere.security.jwt.JwtToken in Ihre Anwendung implementieren.

    Weitere Informationen finden Sie in der JSON-Web-Token-Java-Dokumentation.

    1. Erstellen Sie ein JwtConsumer-Objekt.
      Wenn Sie keine Konfigurations-ID angeben, wird das Objekt an die jwtConsumer-Standardkonfiguration gebunden.
      com.ibm.websphere.security.jwt.JwtConsumer jwtConsumer = JwtConsumer.create();
      Wenn Sie eine Konfigurations-ID angeben, wird das Objekt mit der angegebenen ID an die jwtConsumer-Konfiguration gebunden.
      com.ibm.websphere.security.jwt.JwtConsumer jwtConsumer = JwtConsumer.create("jwtConsumer-Konfigurations-ID");
    2. Überprüfen und analysieren Sie ein JWT-Token, indem Sie die API com.ibm.websphere.security.jwt.JwtToken implementieren.
      JwtToken jwtToken = jwtConsumer.createJwt("JWT-Token_mit_Base64-Verschlüsselung>");

Symbol das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 01.12.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-libcore-mp&topic=twlp_sec_consume_jwt
Dateiname: twlp_sec_consume_jwt.html