Symmetrischer Schlüssel: ein Shared Secret
So wird ein JWT in einer eingebetteten Webseiten-Lösung verwendet:
1.Erstellung eines JWT mit symmetrischer Verschlüsselung. Das JWT basiert auf (i) Eigenschaft-Wert-Informationen (so genannten Claims), die Sie eingeben; und (ii) einem zufällig gewählten String (dem Shared Secret).
2.Einrichten von MobileTogether Server zum Überprüfen des von der Webseite gesendeten JWT. Sie stellen dafür zwei Informationen zur Verfügung: (i) das zur Generierung des JWT verwendete Secret; und (ii) den Wert des Audience Claims (der mit dem zur Generierung des JWT verwendeten identisch sein muss).
3.Das JWT wird auf der Webseite an den IFrame übergeben.
Wenn das JWT an den Server übergeben wird, überprüft der Server es anhand der Audience Informationen und des Shared Secret, das Sie in den Einstellungen zur Generierung des JWT eingegeben haben.
Erstellen eines JWT
In dieser Beschreibung wird die Seite Online JWT Builder of Jamie Kurtz verwendet, um ein JWT mit einem symmetrischen Schlüssel (Shared Secret = gemeinsames Geheimnis) zu erstellen. Darin werden die für die Verwendung von JWT in eingebetteten Webseiten-Lösungen relevanten Claims (JSON Eigenschaft-Wert-Paare) beschrieben.
Standard-Claims
Die Standard-Claims (siehe Abbildung unten) bilden die Kern-Claims:
•MobileTogether Server überprüft, ob der Zeitpunkt des Serverzugriffs sich innerhalb der Gültigkeitsperiode des JWT befindet. Definieren Sie daher die Ausstellungs- und Ablaufzeit entsprechend.
•Der Parameter Audience ist eine der Einstellungen, die auf MobileTogether Server konfiguriert werden müssen. Definieren Sie daher für den Parameter Audience hier (wenn Sie das JWT generieren) und die MobileTogether Server-Einstellung Audience denselben Wert (siehe MobileTogether Server-Einstellungen weiter unten).
•Der Parameter Subject dient zur Angabe des Benutzers, der auf MobileTogether Server angemeldet werden soll. Wenn es sich beim hier eingegebenen Benutzernamen um einen Benutzer handelt, der auf MobileTogether Server registriert ist, so erfolgt die Anmeldung mit den Berechtigungen, die dieser Benutzer hat. Wenn der Benutzername nicht auf MobileTogether Server registriert ist, wird der Benutzer auf MobileTogether Server registriert und angemeldet; Sie müssen jedoch für diesen neuen Benutzer Berechtigungen konfigurieren, damit er Zugriff auf den entsprechenden Workflow erhält.
Symmetrischer Schlüssel (Shared Secret) für JWT
Mit Hilfe des Schlüssels (oder Shared Secret) wird zusammen mit den anderen eingegebenen Daten das JWT generiert. Mit Hilfe dieses Schlüssels entschlüsselt und authentifiziert MobileTogether Server das JWT, das er von der Webseite empfängt. Der Schlüssel wird also sowohl zur Ver- als auch zur Entschlüsselung (des JWT) verwendet. Sie können bei der Generierung des JWT jeden beliebigen String als Shared Secret definieren. Derselbe String muss auch als MobileTogether Server-Einstellung für das Secret eingegeben werden (siehe MobileTogether Server-Einstellungen weiter unten).
In der Abbildung unten wurde ein 32 Zeichen langes Secret eingegeben und der Verschlüsselungsalgorithmus HS256 ausgewählt. Wenn Sie auf Create Signed JWT klicken, wird das JWT erstellt und im Textfeld angezeigt.
MobileTogether Server-Einstellungen
Sie müssen die JWT-Authentifizierung auf dem Register Einstellungen von MobileTogether Server aktivieren (siehe Abbildung unten), und anschließend zwei Einstellungen eingeben:
•Secret: Dies ist der symmetrische Schlüssel (das Shared Secret), anhand dessen das JWT erstellt wurde. Anhand dieser Information kann der Server das JWT überprüfen. (Wenn Sie eine asymmetrische Verschlüsselung verwenden, geben Sie in dieses Feld den Public Key eines Private-Public-Schlüsselpaars ein.)
•Audience: Geben Sie hier denselben String ein, den Sie für die Erstellung des JWT für den Audience Claim eingegeben haben.