@@ -260,34 +260,38 @@ Since JSON Web Tokens (JWT) are more and more used, JWT generation and validatio
260
260
easily verify the signature.
261
261
262
262
``` python
263
- jwt = Jwt(' eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c' )
264
- assert jwt.headers == {
265
- " alg" : " HS256" ,
266
- " typ" : " JWT"
267
- }
263
+ from jwskate import Jwt
268
264
269
- assert jwt.claims == {
270
- " sub" : " 1234567890" ,
271
- " name" : " John Doe" ,
272
- " iat" : 1516239022
273
- }
265
+ jwt = Jwt(
266
+ " eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
267
+ )
268
+ assert jwt.headers == {" alg" : " HS256" , " typ" : " JWT" }
269
+
270
+ assert jwt.claims == {" sub" : " 1234567890" , " name" : " John Doe" , " iat" : 1516239022 }
274
271
275
- assert jwt.signature == b ' I\xf9 J\xc7\x04 IH\xc7\x8a (]\x90 O\x87\xf0\xa4\xc7\x89\x7f ~\x8f :N\xb2 %_\xda u\x0b ,\xc3\x97 '
272
+ assert (
273
+ jwt.signature
274
+ == b " I\xf9 J\xc7\x04 IH\xc7\x8a (]\x90 O\x87\xf0\xa4\xc7\x89\x7f ~\x8f :N\xb2 %_\xda u\x0b ,\xc3\x97 "
275
+ )
276
276
```
277
277
278
278
` Jwt ` instances always represent a syntactically valid JWT. If you try to initialize one with a malformed value, you
279
279
will get a ` InvalidJwt ` exception, with an helpful error message:
280
280
281
281
``` python
282
- jwt = Jwt(' eyJhbGci-malformedheader.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c' )
282
+ jwt = Jwt(
283
+ " eyJhbGci-malformedheader.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
284
+ )
283
285
# jwskate.jwt.base.InvalidJwt: Invalid JWT header: it must be a Base64URL-encoded JSON object
284
286
```
285
287
286
288
` Jwt ` may be objects, but they are easy to serialize into their representation. Use either ` str() ` or ` bytes() `
287
289
depending on what type of value you need, or the ` value ` attribute:
288
290
289
291
``` python
290
- jwt = Jwt(' eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c' )
292
+ jwt = Jwt(
293
+ " eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
294
+ )
291
295
str (jwt)
292
296
# 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c'
293
297
bytes (jwt)
0 commit comments