Files
openstapps/backend/backend/test_decode_id_token.js
T
2026-09-17 14:43:07 +02:00

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);
}