![[17.0.0.3 und höher]](../ng_v17003plus.gif)
MicroProfile-JWT konfigurieren
Sie können einen Liberty-Server so konfigurieren, dass er ein MicroProfile-JWT (JSON Web Token) als Authentifizierungstoken akzeptiert.
Vorbereitende Schritte
Informationen zu diesem Vorgang
MicroProfile 1.2 definiert einen interoperablen JSON-Web-Token-Standard (MP-JWT), der drei Komponenten beinhaltet:
- Das Tokenformat und den Anspruch.
- Die org.eclipse.microprofile.jwt.JsonWebToken-Schnittstelle, eine java.security.Principal-Schnittstellenerweiterung, die diese Gruppe von Ansprüchen mithilfe von Accessoren des Typs "get style" zur Verfügung stellt.
- Zuordnung des JSON Web Token und der Ansprüche zu verschiedenen Java EE-Container-APIs.
Suchen Sie die MP-JWT-Spezifikation und API unter JWT RBAC for MicroProfile.
Jede vertrauenswürdige Partei, die MP-JWT-Token besitzt, kann dieses Token verwenden, um auf die zugeordneten Ressourcen in Liberty zuzugreifen, indem das Token in Berechtigungsheadern gesendet wird. Das Sendeformat des Tokens unterliegt der Spezifikation RFC 6750 (The OAuth 2.0 Authorization Framework: Bearer Token Usage). Beispiel:
GET /resource/1 HTTP/1.1
Host: example.com
Authorization: Bearer <MP-JWT-Token>
Der Liberty-Ressourcenserver validiert das MP-JWT-Token, erstellt das
authentifizierte JSON Web Token und stellt das JSON Web Token und die Tokenansprüche über CDI-Injektion oder den JAX-RS-Sicherheitskontext zur Verfügung. Das JWT-Token muss eine Liste mit Ansprüchen enthalten, um als MP-JWT-Token akzeptiert zu werden. Das folgende Beispiel zeigt ein MP-JWT-Token:
{
"typ": "JWT",
"alg": "RS256",
"kid": "abc-1234567890"
}
{
"iss": "https://server.example.com",
"aud": "s6BhdRkqt3",
"jti": "a-123",
"exp": 1311281970,
"iat": 1311280970,
"sub": "24400320",
"upn": "jdoe@server.example.com",
"groups": ["red-group", "green-group", "admin-group", "admin"],
}