Skip to main content
Skip table of contents

JSON WebToken Calculator

Dieser Adapter generiert, verifiziert und verarbeitet JSON-WebTokens.

Name des Adapters bis Version 5.5.4: JSON WebToken

Eigenschaften (Properties)

Operation

Vom Adapter ausgeführte Operation

Mögliche Werte:

  • CreateJWT: Generiert ein JSON-WebToken (JWT) aus einem XML-Dokument
  • Verify: Verifiziert den vom X4 Server generierten JWT
  • CreateXML: Erstellt aus einem vom X4 Server generierten JWT das dazugehörige XML-Dokument

Parameter

Folgende Parameter sind bei den oben genannten Operationen erforderlich:


CreateJWTVerifyCreateXML
algorithmerforderlicherforderlicherforderlich
useServerSecret
erforderlich, falls useSecretAsPublicKey nicht verwendet wird.
useSecretAsPublicKey
erforderlich, falls useServerSecret nicht verwendet wird.
secret
erforderlich, falls useSecretAsPublicKey verwendet wird.
keystoreUrlerforderlich
erforderlich
keystoreTypeerforderlich
erforderlich
keystorePassworderforderlich
erforderlich
keyAliaserforderlich
erforderlich
keyPassworderforderlich
erforderlich
Adapter

Adapter-Hauptklasse (nicht verändern!)

Mögliche Werte:  de.softproject.integration.adapter.json.webtokenJSONWebTokenAdapter: Hauptklasse (Standard)

algorithm

Algorithmus, der für die Operation verwendet wird

Mögliche Werte:

  • HMAC256 
  • HMAC384
  • HMAC512
  • RSA256
  • RSA384
  • RSA512
  • ECDSA256
  • ECDSA384
  • ECDSA512
useServerSecret

Nur relevant für HMAC-Algorithmen. Legt fest, ob ein integriertes Server Secret oder eine benutzerdefiniertes Server Secret verwendet wird.

Mögliche Werte:

  • true: Integriertes Server Secret verwenden
  • false: Benutzerdefiniertes Server Secret verwenden

    Falls ein benutzerdefiniertes Server Secret verwendet wird, muss dieses mit dem Parameter secret angegeben werden.

useSecretAsPublicKey

Nur relevant für RSA- und ECDSA-Algorithmen. Legt fest, ob der Wert des Parameters secret als Public Key verwendet wird.

Mögliche Werte:

  • true: Wert des Parameters secret als Public Key verwenden

    Falls der Wert des Parameters secret  als Public Key verwendet wird, dann ist der Parameter secret erforderlich.

  • false: Wert des Parameters secret nicht als Public Key verwenden
secret

Nur relevant für HMAC-Algorithmen. Kennwort, dass verwendet wird, um ein Token zu verschlüsseln oder zu entschlüsseln.

Mögliche Werte: Base64-verschlüsseltes Kennwort

keystoreUrl

URL zum Keystore, der das RSA-/ECDSA-Schlüsselpaar enthält

Mögliche Werte: URL zu einem Keystore

Der Keystore muss durch die Java Security API unterstützt werden, z. B. JKS oder PKCS#12.

keystoreType

Typ des Keystores, der das RSA-/ECDSA-Schlüsselpaar enthält

Mögliche Werte: Typ des Keystores, z. B. jks oder pkcs12

keystorePassword

Passwort des Keystores, der das RSA-/ECDSA-Schlüsselpaar enthält

Mögliche Werte: Passwort

keyAlias

Alias des asymmetrischen Schlüssels, der für RSA-/ECDSA-Algorithmen verwendet wird

Mögliche Werte: Alias des verwendeten Schlüssels

keyPassword

Passwort des asymmetrischen Schlüssels, der für RSA-/ECDSA-Algorithmen verwendet wird

Mögliche Werte: Passwort des verwendeten Schlüssels

Statuswerte

1

Die Adapter-Operation wurde erfolgreich ausgeführt:

  • Operation CreateJWT: Im Output befindet sich ein JSON-WebToken
  • Operation Verify: Der JSON-WebToken ist gültig
  • Operation CreateXML: Im Output befindet sich das XML-Dokument zum JSON-WebToken
-1

Bei der Ausführung des Adapters kam es zu einem Fehler:

  • Operation CreateJWT und CreateXML: Im Output befindet sich eine Fehlermeldung
  • Operation Verify: Der JSON-WebToken ist ungültig.
400

Das Token ist abgelaufen.

Dieser Statuswert wird nur von den Operationen CreateXML und Verify ausgegeben.

Input

Je nach Operation erwartet der Adapter verschiedene Inputs:

    • Operation CreateJWT: es wird ein XML-Dokument erwartet, welches folgendes Format besitzt:

    • Die Header-Typen typ (Parameter: keystoretype) und alg (Parameter: algorithm) wird vom Adapter gesetzt.

    • Verwenden Sie keine Claims mit duplizierten Namen.
    Das Element Header ist optional und kann bei Bedarf deklariert werden. Zum Beispiel erwartet Microsoft Azure eine Header-Deklaration.

    Beispiel-Input

    XML
    <?xml version="1.0" encoding="UTF-8">
    <TokenContent>
    	<Headers>
    		<Header name="x5t">hOBcHZi846VCHSJbFAs26Go9VTQ=</Header>
    		<Header name="kid">vdgdINF455FBKWDSEF5gdrgddgg=</Header>
    	</Headers>
        <Subject name="sub" type="String">1234567890</Subject>
    	<ExpiresAt name="exp" type="Integer">1577750400</ExpiresAt>
    	<NotBefore name="nbf" type="Integer">946684800</NotBefore>
    	<Id name="jti" type="String">007</Id>
    	<Claims>
    		<Claim name="name" type="String">John Doe</Claim>
    		<Claim name="admin" type="boolean">true</Claim>
    	</Claims>
    </TokenContent>

    Zusätzliche Informationen zu den verwendenden Claims und deren XML-Objekten finden Sie unter iana.org. Bei nicht reservierten Claims können die Namen beliebig vergeben werden, jedoch dürfen sie nicht gleich sein mit bereits reservierten Claims wie beispielsweise bsp. oder exp.

    Als type stehen die Werte String , Boolean , Integer , Long und Double zur Verfügung.

    Für die Elemente ExpiresAt, NotBefore und IssuedAt werden Angaben im Unix-Zeitformat erwartet.


    • Operationen  Verify und CreateXML: Es wird ein JSON-WebToken erwartet, das aus einem Zwischenschritt stammen oder als Text-Datei (.txt) übergeben werden kann.

    Output

    Je nach Operation gibt der Adapter verschiedene Ergebnisse aus:

    • Operation CreateJWT: Im Output befindet sich ein JSON-WebToken
    • Operation Verify:  Wenn der JWT gültig ist, wird er wieder ausgegeben
    • Operation CreateXML: Im Output befindet sich das XML-Dokument zum JSON-WebToken
    JavaScript errors detected

    Please note, these errors can depend on your browser setup.

    If this problem persists, please contact our support.