Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 41 additions & 0 deletions third_party/3/jwt/__init__.pyi
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
from typing import Mapping, Any, Optional, Union

from . import algorithms

def decode(jwt: Union[str, bytes], key: Union[str, bytes] = ...,
verify: bool = ..., algorithms: Optional[Any] = ...,
options: Optional[Mapping[Any, Any]] = ...,
**kwargs: Any) -> Mapping[str, Any]: ...

def encode(payload: Mapping[str, Any], key: Union[str, bytes],
algorithm: str = ..., headers: Optional[Mapping[str, Any]] = ...,
json_encoder: Optional[Any] = ...) -> bytes: ...

def register_algorithm(alg_id: str,
alg_obj: algorithms.Algorithm) -> None: ...

def unregister_algorithm(alg_id: str) -> None: ...

class InvalidTokenError(Exception): pass
class DecodeError(InvalidTokenError): pass
class ExpiredSignatureError(InvalidTokenError): pass
class InvalidAudienceError(InvalidTokenError): pass
class InvalidIssuerError(InvalidTokenError): pass
class InvalidIssuedAtError(InvalidTokenError): pass
class ImmatureSignatureError(InvalidTokenError): pass
class InvalidKeyError(Exception): pass
class InvalidAlgorithmError(InvalidTokenError): pass
class MissingRequiredClaimError(InvalidTokenError): ...

# Compatibility aliases (deprecated)
ExpiredSignature = ExpiredSignatureError
InvalidAudience = InvalidAudienceError
InvalidIssuer = InvalidIssuerError

# These aren't actually documented, but the package
# exports them in __init__.py, so we should at least
# make sure that mypy doesn't raise spurious errors
# if they're used.
get_unverified_header = ... # type: Any
PyJWT = ... # type: Any
PyJWS = ... # type: Any
3 changes: 3 additions & 0 deletions third_party/3/jwt/algorithms.pyi
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
from typing import Any

class Algorithm(Any): ... # type: ignore
Empty file.
1 change: 1 addition & 0 deletions third_party/3/jwt/contrib/algorithms/__init__.pyi
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
from hashlib import _Hash as _HashAlg
10 changes: 10 additions & 0 deletions third_party/3/jwt/contrib/algorithms/py_ecdsa.pyi
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
from typing import Any
from jwt.algorithms import Algorithm

from . import _HashAlg

class ECAlgorithm(Algorithm):
SHA256 = ... # type: _HashAlg
SHA384 = ... # type: _HashAlg
SHA512 = ... # type: _HashAlg
def __init__(self, hash_alg: _HashAlg) -> None: ...
10 changes: 10 additions & 0 deletions third_party/3/jwt/contrib/algorithms/pycrypto.pyi
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
from typing import Any
from jwt.algorithms import Algorithm

from . import _HashAlg

class RSAAlgorithm(Algorithm):
SHA256 = ... # type: _HashAlg
SHA384 = ... # type: _HashAlg
SHA512 = ... # type: _HashAlg
def __init__(self, hash_alg: _HashAlg) -> None: ...