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
- Fügen Sie der Datei server.xml das Feature jwt-1.0 hinzu.
<featureManager>
<feature>jwt-1.0</feature>
...
</featureManager>
- 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 Consumer (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.
- Importieren Sie das X.509-Zertifikat des JWT-Ausssteller in den Truststore.
- Geben Sie im jwtConsumer-Element die Truststore-ID und den Zertifikatsaliasnamen an.
<jwtConsumer id="defaultJWTConsumer" trustStoreRef="Truststore-ID" trustAliasName="Zertifikatsaliasname">
</jwtConsumer>
- Ü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.
- 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");
- Ü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>");