@@ -68,7 +68,9 @@ def decode_complete(
6868 key : str = "" ,
6969 algorithms : List [str ] = None ,
7070 options : Dict = None ,
71- ** kwargs ,
71+ audience : Optional [Union [str , List [str ]]] = None ,
72+ issuer : Optional [str ] = None ,
73+ leeway : Union [float , timedelta ] = 0 ,
7274 ) -> Dict [str , Any ]:
7375 if options is None :
7476 options = {"verify_signature" : True }
@@ -92,7 +94,6 @@ def decode_complete(
9294 key = key ,
9395 algorithms = algorithms ,
9496 options = options ,
95- ** kwargs ,
9697 )
9798
9899 try :
@@ -103,7 +104,7 @@ def decode_complete(
103104 raise DecodeError ("Invalid payload string: must be a json object" )
104105
105106 merged_options = {** self .options , ** options }
106- self ._validate_claims (payload , merged_options , ** kwargs )
107+ self ._validate_claims (payload , merged_options , audience , issuer , leeway )
107108
108109 decoded ["payload" ] = payload
109110 return decoded
@@ -114,18 +115,20 @@ def decode(
114115 key : str = "" ,
115116 algorithms : List [str ] = None ,
116117 options : Dict = None ,
117- ** kwargs ,
118+ audience : Optional [Union [str , List [str ]]] = None ,
119+ issuer : Optional [str ] = None ,
120+ leeway : Union [float , timedelta ] = 0 ,
118121 ) -> Dict [str , Any ]:
119- decoded = self .decode_complete (jwt , key , algorithms , options , ** kwargs )
122+ decoded = self .decode_complete (
123+ jwt , key , algorithms , options , audience , issuer , leeway
124+ )
120125 return decoded ["payload" ]
121126
122- def _validate_claims (
123- self , payload , options , audience = None , issuer = None , leeway = 0 , ** kwargs
124- ):
127+ def _validate_claims (self , payload , options , audience , issuer , leeway ):
125128 if isinstance (leeway , timedelta ):
126129 leeway = leeway .total_seconds ()
127130
128- if not isinstance (audience , (bytes , str , type (None ), Iterable )):
131+ if not isinstance (audience , (str , type (None ), Iterable )):
129132 raise TypeError ("audience must be a string, iterable, or None" )
130133
131134 self ._validate_required_claims (payload , options )
0 commit comments