Verknüpfungen unterstützen die Verwendung von JSON-Web-Tokens für die Authentifizierung und den Austausch von Informationen mit Drittanbietersystemen.
Für weitere Informationen siehe https://jwt.io/.
Verwendung von JSON-Web-Tokens mit Verknüpfungen
Um einer Verknüpfungen einen JSON-Web-Token hinzuzufügen, füge den {{jwt}}-Parameter zur Link-URL hinzu, wie im unten stehenden Beispiel gezeigt. Dies wird als https://somethirdparty.com/?jwt=eyJhbGciOiJSUzI... dargestellt, wenn ein Nutzer auf die Erweiterung klickt.
Für weitere Informationen über die Erstellung von Verknüpfungen, siehe diese Anleitung.
Token-Struktur
Beekeeper unterstützt sowohl JWT 1.0 als auch JWT 2.0. Für eine Konfigurierung reiche eine Anfrage unten ein. Die jeweilige Struktur der beiden ist sich sehr ähnlich, aber sie unterscheiden sich leicht in der Handhabung der Nutzeridentifikation, die wir später im Detail zeigen werden.
Nach der Dekodierung hat die Nutzlast unserer Standard-JSON-Web-Tokens 1.0 die folgende Struktur:
{
"beekeeper_version": "1.0",
"beekeeper_user": {
"perms": {
"streams": [
{
"perms": [
"r",
"w"
],
"id": 5352
},
{
"perms": [
"r",
"w"
],
"id": 5351
],
"role": "member",
"groups": [
{
"perms": [
"ga"
],
"id": 101
},
{
"perms": [
"m"
],
"id": 102
}
]
},
"name": "Kevin Muller",
"avatar": "https://example.com/avatar.png"
},
"iss": "Beekeeper AG",
"beekeeper_fqdn": "example_tenant.us.beekeeper.io",
"jti": "a1b2cd34-eeff-5566-hijk-9ddd9569d1cb",
"exp": 1477657884,
"iat": 1477485084,
"nbf": 1477485084,
"sub": "kevin_muller"
}
Unser Beispielnutzer, Kevin Müller, hat Lese- und Schreibberechtigungen für einen Stream mit der ID 5352, Lese- und Schreibberechtigungen für einen Stream mit der ID 5353, ist Gruppenadministrator für Gruppe 101 und Mitglied von Gruppe 102.
Wenn Du diese Berechtigungen von der JWT-Nutzlast ausschließen möchtest, kannst Du den Platzhalter {{jwt_without_perms}} verwenden.
JWT 1.0 vs. JWT 2.0
Keine der Berechtigungsstrukturen oder Stream-/Gruppenzuweisungen wird durch diesen Unterschied beeinflusst, aber es gibt einen Unterschied, wenn es darum geht, wie der Parameter "sub" (oder subject), das Vorhandensein oder Fehlen des Parameters "beekeeper_fqdn" und der Parameter "beekeeper_version" definiert werden. Es gibt vier maßgebliche Anwendungsfälle, die sich mit der JWT-Version (1.0 oder 2.0) und dem Vorhandensein oder Nichtvorhandensein einer tenantuserid (oder Nutzer-ID) befassen.
Da die Berechtigungen von diesen Änderungen nicht betroffen sind, gehen wir hier nicht näher auf diese Komponente ein.
JWT 1.0 mit tenantuserid
{
"beekeeper_version": "1.0",
"beekeeper_user": {...},
"iss": "Beekeeper AG",
"beekeeper_fqdn": "example.us.beekeeper.io",
"jti": "5328cce4-2045-4446-9100-c17cc83d3e71",
"exp": 1611342846,
"iat": 1611170046,
"nbf": 1611170046,
"sub": "<tenantuserid>"
}
JWT 1.0 ohne tenantuserid
{
"beekeeper_version": "1.0",
"beekeeper_user": {...},
"iss": "Beekeeper AG",
"beekeeper_fqdn": "example.us.beekeeper.io",
"jti": "7ad40306-4327-4142-a651-9a36be1a88d2",
"exp": 1611342555,
"iat": 1611169755,
"nbf": 1611169755,
"sub": "<profile_UUID(example: d8eb77b6-adcc-4ae5-a9da-b8481834b5b3)>"
}
JWT 2.0 mit tenantuserid
{
"beekeeper_version": "2.0",
"beekeeper_user": {...},
"iss": "Beekeeper AG",
"beekeeper_fqdn": "example.us.beekeeper.io",
"jti": "f00cb481-1a53-4128-9781-2ddc2227b8ec",
"exp": 1611347094,
"iat": 1611174294,
"nbf": 1611174294,
"tenantuserid": "<tenantuserid>",
"sub": "<profile_UUID (example: d8eb77b6-adcc-4ae5-a9da-b8481834b5b3)>"
}
JWT 2.0 ohne tenantuserid
{
"beekeeper_version": "2.0",
"beekeeper_user": {...},
"iss": "Beekeeper AG",
"beekeeper_fqdn": "example.us.beekeeper.io",
"jti": "27ac8817-ebce-4098-b8ca-4de75cafc3a3",
"exp": 1611343331,
"iat": 1611170531,
"nbf": 1611170531,
"tenantuserid": null,
"sub": "<profile_UUID (example: d8eb77b6-adcc-4ae5-a9da-b8481834b5b3)>"
}
Wenn Du die Verwendung von JWT 1.0 oder 2.0 aktivieren oder bestätigen möchtest, reiche bitte eine Anfrage unten ein.
Berechtigungen
Berechtigungen können wie folgt übersetzt werden:
Berechtigung |
Beschreibung |
a |
Globaler Admin |
ga |
Gruppen-Admin |
ca |
Stream-Admin |
m |
Gruppenmitglied |
w |
Kann Beiträge erstellen |
r |
Kann Beiträge lesen |
Weitere Informationen findest Du unter Berechtigungen.
JWT öffentlicher Schlüssel/Signatur
Den von Beekeeper generierten öffentlichen Schlüssel zum Verifizieren der JSON-Web-Tokens findest Du unter https://unternehmen.beekeeper.io/api/2/extensions/jwt/public_key.
Kommentare
0 Kommentare
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.