Was sind JSON Web Tokens? JWT Einführung in 12 Minuten

Was sind JSON Web Tokens? JWT Einführung in 12 Minuten

1.877 Lượt nghe
Was sind JSON Web Tokens? JWT Einführung in 12 Minuten
Was sind JSON Web Tokens? Wie sehen #JWT aus? Wozu braucht man sie? JSON Web Tokens sind der De-Facto-Standard, wenn es um Sicherheitsmechanismen im Internetzeitalter mit REST-APIs geht. Es vergeht kein Tag, an dem kein #Token in meinem Namen im Internet unterwegs ist: Sei es bei Microsoft, Google oder Amazon. Häufig werden JWTs als Magie gesehen, da sie für Menschen schwierig lesbar sind (eyJhbGciOiJIU...). Aber das muss so nicht sein, denn im Grunde ist der Inhalt, wie im Video erklärt, meistens sehr einfach. Für die Sicherheit essentiell ist, ein Verständnis dafür zu haben, was mit JWTs gemacht werden kann oder wie sie - gegebenenfalls - auch mißbraucht werden können. 00:00 Einleitung 00:26 Tokens 01:56 JSON Web Tokens 07:42 Claims sub, iat und die Header alg, typ 11:29 Fazit Wir folgen der RFC 7519 und unterscheiden die JWTs strukturell in JWS (JSON Web Signature, also signierte Tokens; kommt meistens zum Einsatz) und JWE (JSON Web Encryption, also verschlüsselte Tokens). In der JWS-Struktur betrachten wir Header, Payload und Signature. Die ersten beiden sind base64url-kodierte JSON-Objekte. base64url ist dabei eine Abart von base64, bei der + durch - sowie / und _ ersetzt und = weggelassen werden. Damit werden JWTs URL- sowie HTTP-freundlich und lassen sich leicht einbetten. Als Beispiel nutzen wir den 'einfachsten' symmetrischen Signaturalgorithmus HS256. Das Token setzen wir initial zur Autorisierung ('wird der Zugriff genehmigt?') am API ein, später im Video dann nur noch zur Authentifizierung ('in wessen Namen wird zugegriffen?'). Im gezeichneten Beispiel greift hat mein Handy ein JWT von mir (Tobias) und greift auf eine Schnittstelle (API) des Customer-Relationship-Management-System (CRM) zu, um eine Kundenliste abzurufen. Wir gehen auf die Header "alg" und "typ" ein, sowie auf die Claims "sub" und "iat". Funktional erklärt, aber nicht explizit beschrieben werden "exp" ("bis wann ist das Token gültig?") und "nbf" ("ab wann ist das Token gültig?"). Schulungen Online, in Bonn oder als Firmenseminar: #API REST Sicherheit https://www.predic8.de/api-rest-security-schulung.htm Mich, Tobias Polley, findet ihr auf: Twitter: @rrayst Xing: https://www.xing.com/profile/Tobias_Polley LinkedIn: https://www.linkedin.com/in/tobias-polley / tobias-polley