mirror of
https://gitlab.com/openstapps/openstapps.git
synced 2026-09-28 22:01:52 +00:00
37 lines
2.1 KiB
JavaScript
37 lines
2.1 KiB
JavaScript
// -----------------------------------------------------------
|
|
// 1. Hier Ihr ID Token einfügen:
|
|
const idToken =
|
|
'eyJraWQiOiJkZWZhdWx0UlNBU2lnbiIsImFsZyI6IlJTMjU2In0.eyJhdF9oYXNoIjoibVJpdzR3cDVKMUw0bzgtenVaWnlMQSIsInN1YiI6InM1MTgxNzAxQHVuaS1mcmFua2Z1cnQuZGUiLCJhdWQiOiIxY2FjM2Y5OS0zM2ZhLTQyMzQtODQzOC05NzlmMDdlMGNkYWIiLCJhdXRoX3RpbWUiOjE3NjU5Njc1NjEsImlzcyI6Imh0dHBzOi8vaWRwNS10ZXN0LnViLnVuaS1mcmFua2Z1cnQuZGUiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJzNTE4MTcwMSIsImV4cCI6MTc2NTk3MTE2OSwiaWF0IjoxNzY1OTY3NTY5LCJzaWQiOiJfNTg1NmVkOGNlZmNlZTQ2ODQ0OTA4YTM0ZjNlZTQxMWQifQ.eDbIPjB6zeYiHrbYwqxG2_iV6loJHcvA3l0BT9W0kT4_NZxVVXL_OK7Z-qnC4ppw-SwPzUP7KSiFVBmSiqjQsTF9JWx7xWgcNo9MDxn8MT7F8T_a0CuaAKQtVMn9_adOyyiGgLiQ7_aSwnE0NfE_RomE3pWCQwK1-hr4au3QKR-MKwZehrDdcq0pmAzmCrlWJ8SZ6DmcErxvyXZ799LTjj2Vyn4kpp2uXWTuA5TxgpoKGdeVfTPzD6s6ZRshoVR1bLpkZbIYviE9mtDOw9RmAvZbdZ4-ZVDBX6AXktfq7WnNLDyT43pKRRql3oqdOVs9BD7e7LdJQRy4HgcK5IluSsEXuGNSV_iysvd3HV0yoLFXBkKiRnWsa0-U1WNz-Rnxb4OL_6ZxEfEjWIrdHxnDbbzq0iQomEeAaJRHU9FUSdch5NnHKpPz3W9cbd_9a9geMn5FXkGWwZKOVFPOQEPNBwVflpp_vYzGad0pvOTRSX4lMFnZ0FA1ADuUXuqaOJCk';
|
|
// -----------------------------------------------------------
|
|
|
|
// Payload isolieren
|
|
const payloadBase64 = idToken.split('.')[1];
|
|
|
|
// Base64Url in Base64 konvertieren und dekodieren
|
|
try {
|
|
const sanitizedPayload = payloadBase64.replace(/-/g, '+').replace(/_/g, '/');
|
|
|
|
// HINWEIS: Manchmal muss Padding (das '=' am Ende) hinzugefügt werden,
|
|
// aber moderne Browser-Implementierungen kommen oft ohne aus.
|
|
|
|
// Dekodieren des Base64-Strings zur JSON-Zeichenkette
|
|
const jsonPayload = decodeURIComponent(
|
|
atob(sanitizedPayload)
|
|
.split('')
|
|
.map(function (c) {
|
|
return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
|
|
})
|
|
.join(''),
|
|
);
|
|
|
|
// Parsen in ein JavaScript-Objekt
|
|
const claims = JSON.parse(jsonPayload);
|
|
|
|
console.log('*** Erfolgreich dekodierte ID Token Claims ***');
|
|
console.table(claims); // Zeigt die Claims in einer schönen Tabelle an
|
|
console.log(claims);
|
|
} catch (e) {
|
|
console.error('Fehler beim Dekodieren des ID Tokens. Haben Sie das gesamte Token korrekt eingefügt?');
|
|
console.error(e);
|
|
}
|