@@ -68,9 +68,7 @@ def decode_complete(
6868 key : str = "" ,
6969 algorithms : List [str ] = None ,
7070 options : Dict = None ,
71- audience : Optional [Union [str , List [str ]]] = None ,
72- issuer : Optional [str ] = None ,
73- leeway : Union [float , timedelta ] = 0 ,
71+ ** kwargs ,
7472 ) -> Dict [str , Any ]:
7573 if options is None :
7674 options = {"verify_signature" : True }
@@ -94,6 +92,7 @@ def decode_complete(
9492 key = key ,
9593 algorithms = algorithms ,
9694 options = options ,
95+ ** kwargs ,
9796 )
9897
9998 try :
@@ -104,7 +103,7 @@ def decode_complete(
104103 raise DecodeError ("Invalid payload string: must be a json object" )
105104
106105 merged_options = {** self .options , ** options }
107- self ._validate_claims (payload , merged_options , audience , issuer , leeway )
106+ self ._validate_claims (payload , merged_options , ** kwargs )
108107
109108 decoded ["payload" ] = payload
110109 return decoded
@@ -115,20 +114,18 @@ def decode(
115114 key : str = "" ,
116115 algorithms : List [str ] = None ,
117116 options : Dict = None ,
118- audience : Optional [Union [str , List [str ]]] = None ,
119- issuer : Optional [str ] = None ,
120- leeway : Union [float , timedelta ] = 0 ,
117+ ** kwargs ,
121118 ) -> Dict [str , Any ]:
122- decoded = self .decode_complete (
123- jwt , key , algorithms , options , audience , issuer , leeway
124- )
119+ decoded = self .decode_complete (jwt , key , algorithms , options , ** kwargs )
125120 return decoded ["payload" ]
126121
127- def _validate_claims (self , payload , options , audience , issuer , leeway ):
122+ def _validate_claims (
123+ self , payload , options , audience = None , issuer = None , leeway = 0 , ** kwargs
124+ ):
128125 if isinstance (leeway , timedelta ):
129126 leeway = leeway .total_seconds ()
130127
131- if not isinstance (audience , (str , type (None ), Iterable )):
128+ if not isinstance (audience , (bytes , str , type (None ), Iterable )):
132129 raise TypeError ("audience must be a string, iterable, or None" )
133130
134131 self ._validate_required_claims (payload , options )
0 commit comments