File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11import jwt
22from django .utils .translation import gettext_lazy as _
3+ from typing import Union
34from jwt import InvalidAlgorithmError , InvalidTokenError , algorithms
45from datetime import timedelta
56from .exceptions import TokenBackendError
@@ -34,7 +35,7 @@ def __init__(
3435 audience = None ,
3536 issuer = None ,
3637 jwk_url : str = None ,
37- leeway = None ,
38+ leeway : Union [ float , int , timedelta ] = None ,
3839 ):
3940 self ._validate_algorithm (algorithm )
4041
@@ -68,7 +69,7 @@ def _validate_algorithm(self, algorithm):
6869 )
6970 )
7071
71- def get_leeway (self ):
72+ def get_leeway (self ) -> timedelta :
7273 if self .leeway is None :
7374 return timedelta (seconds = 0 )
7475 elif isinstance (self .leeway , (int , float )):
@@ -77,7 +78,7 @@ def get_leeway(self):
7778 return self .leeway
7879 else :
7980 raise TokenBackendError (
80- format_lazy (_ ("Unrecognized type '{}', 'leeway' must be of type int or timedelta." ),
81+ format_lazy (_ ("Unrecognized type '{}', 'leeway' must be of type int, float or timedelta." ),
8182 type (self .leeway )
8283 )
8384 )
You can’t perform that action at this time.
0 commit comments