2016-06-28 10 views
1

Ich habe in meinem JavaScript-Code zu den beiden folgenden Zeilen bekommen:Wie dekodiere/analysiere ich die von Cognito zurückgegebenen Zugriffs- und ID-Token?

alert(result.getAccessToken().getJwtToken()); 
alert(result.getIdToken().getJwtToken()); 

ich jetzt den familien_name Wert aus der Nutzlast von th ID-Token sowie die Ablaufzeit des Tokens erhalten mag, aber bin ein bisschen verwirrt. Ich weiß, dass die Token JSON-Web-Token sind, aber ich bin immer noch ein wenig verwirrt, wie ich einfach auf diese Werte (zB family_name) zugreifen kann, die Teil der JSON-Web-Token-Nutzlast sind ?! danke

Antwort

2

Siehe this example, eine Funktion in AWS Cognito JS SDK; es analysiert JWT, um den Token-Ablauf zu lesen. Ein JWT besteht aus drei Teilen (Header, Payload und Signatur - in dieser Reihenfolge), die durch "." getrennt sind. Die Nutzlast ist in der Basis 64 als UTF-8-Zeichen codiert. Um die Ansprüche aus der Nutzlast zu lesen, extrahieren Sie die Nutzlast und konvertieren Sie sie in ein JSON-Objekt. Lesen Sie die Ansprüche, die Sie interessieren, aus dem JSON-Objekt, z. erhalten Ablauf durch payloadJsonObject.exp.