Claims

Auslesen der claims

1. Öffnen Sie im HMI-Projekt die Konfigurationsseite der OAuth Extension.
2. Schalten Sie die „Erweiterte Einstellungen“ der Config Page ein.
- Klicken Sie oben rechts auf die drei Striche.
- Klicken Sie auf Erweiterte Einstellungen anzeigen.
3. Aktivieren Sie den Testmodus.
Claims 1:
4. Öffnen Sie die Server Log Seite.
Claims 2:
Bei jeder Anmeldung an der OAuth Extension werden nun die erhaltenen claims hier im JSON Forma angezeigt.
5. Kopieren Sie den JSON-String in einen Editor um diesen zu formatieren.
Sie können nun die claims daten Prüfen.

Beispiel JSON:

{
    "acr": "0",
    "allowed-origins": [
        "http://127.0.0.1:*",
        "https://[::1]:2020/*",
        "http://localhost:*",
        "https://127.0.0.1:*",
        "https://localhost:*"
    ],
    "aud": [
        "master-realm",
        "account"
    ],
    "auth_time": 1772021979,
    "azp": "hmi-server",
    "email_verified": false,
    "exp": 1772022092,
    "groups": [
        "create-realm",
        "operation-realm",
        "admin-realm",
        "default-roles-master",
        "test-realm",
        "offline_access",
        "admin",
        "uma_authorization"
    ],
    "iat": 1772022032,
    "iss": "",
    "jti": "",
    "preferred_username": "admin",
    "realm_access": {},
    "resource_access": {},
    "scope": "email microprofile-jwt profile",
    "sid": "",
    "sub": "",
    "typ": "Bearer",
    "upn": "admin"
}

Syntax

Einfacher Key:

Einfacher Zugriff auf einen Eintrag innerhalb der claims.

email                             → claims["email"]
sub                               → claims["sub"]
email_verified                    → claims["email_verified"]

Separator:

Mit zwei Doppelpunkten :: werden die einzelnen ebenen getrennt.

realm_access::roles               → claims["realm_access"]["roles"]
resource_access::account          → claims["resource_access"]["account"]
user::profile::name               → claims["user"]["profile"]["name"]

Array:

Mit einem Index kann ein bestimmter Index geprüft werden.

groups[0]                         → claims["groups"][0]  (first element)
roles[2]                          → claims["roles"][2]   (third element)
realm_access::roles[0]            → claims["realm_access"]["roles"][0]

Mit einem Stern * wird das gesamte Array geprüft.

groups[*]                         → any element in claims["groups"]
realm_access::roles[*]            → any element in claims["realm_access"]["roles"]