@@ -32,6 +32,7 @@ def full_path(local_file):
3232
3333USERS = json .loads (open (full_path ("users.json" )).read ())
3434USERINFO = UserInfo (USERS )
35+ LIFETIME = 200
3536
3637AREQ = AuthorizationRequest (
3738 response_type = "code" ,
@@ -91,7 +92,8 @@ def full_path(local_file):
9192 "base_claims" : {
9293 "email" : {"essential" : True },
9394 "email_verified" : {"essential" : True },
94- }
95+ },
96+ "lifetime" : LIFETIME ,
9597 },
9698 },
9799 },
@@ -397,6 +399,37 @@ def test_available_claims(self):
397399 res = _jwt .unpack (id_token .value )
398400 assert "nickname" in res
399401
402+ def test_lifetime_default (self ):
403+ session_id = self ._create_session (AREQ )
404+ grant = self .session_manager [session_id ]
405+
406+ id_token = self ._mint_id_token (grant , session_id )
407+
408+ client_keyjar = KeyJar ()
409+ _jwks = self .endpoint_context .keyjar .export_jwks ()
410+ client_keyjar .import_jwks (_jwks , self .endpoint_context .issuer )
411+ _jwt = JWT (key_jar = client_keyjar , iss = "client_1" )
412+ res = _jwt .unpack (id_token .value )
413+
414+ assert res ["exp" ] - res ["iat" ] == LIFETIME
415+
416+ def test_lifetime (self ):
417+ lifetime = 100
418+
419+ self .session_manager .token_handler ["id_token" ].lifetime = lifetime
420+ session_id = self ._create_session (AREQ )
421+ grant = self .session_manager [session_id ]
422+
423+ id_token = self ._mint_id_token (grant , session_id )
424+
425+ client_keyjar = KeyJar ()
426+ _jwks = self .endpoint_context .keyjar .export_jwks ()
427+ client_keyjar .import_jwks (_jwks , self .endpoint_context .issuer )
428+ _jwt = JWT (key_jar = client_keyjar , iss = "client_1" )
429+ res = _jwt .unpack (id_token .value )
430+
431+ assert res ["exp" ] - res ["iat" ] == lifetime
432+
400433 def test_no_available_claims (self ):
401434 session_id = self ._create_session (AREQ )
402435 grant = self .session_manager [session_id ]
0 commit comments