JWS API¶
-
jose.jws.
get_unverified_claims
(token)¶ Returns the decoded claims without verification of any kind.
Parameters: token (str) – A signed JWS to decode the headers from. Returns: The str representation of the token claims. Return type: str Raises: JWSError
– If there is an exception decoding the token.
-
jose.jws.
get_unverified_header
(token)¶ Returns the decoded headers without verification of any kind.
Parameters: token (str) – A signed JWS to decode the headers from. Returns: The dict representation of the token headers. Return type: dict Raises: JWSError
– If there is an exception decoding the token.
-
jose.jws.
get_unverified_headers
(token)¶ Returns the decoded headers without verification of any kind.
This is simply a wrapper of get_unverified_header() for backwards compatibility.
Parameters: token (str) – A signed JWS to decode the headers from. Returns: The dict representation of the token headers. Return type: dict Raises: JWSError
– If there is an exception decoding the token.
-
jose.jws.
sign
(payload, key, headers=None, algorithm='HS256')¶ Signs a claims set and returns a JWS string.
Parameters: - payload (str or dict) – A string to sign
- key (str or dict) – The key to use for signing the claim set. Can be individual JWK or JWK set.
- headers (dict, optional) – A set of headers that will be added to the default headers. Any headers that are added as additional headers will override the default headers.
- algorithm (str, optional) – The algorithm to use for signing the the claims. Defaults to HS256.
Returns: The string representation of the header, claims, and signature.
Return type: str
Raises: JWSError
– If there is an error signing the token.Examples
>>> jws.sign({'a': 'b'}, 'secret', algorithm='HS256') 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhIjoiYiJ9.jiMyrsmD8AoHWeQgmxZ5yq8z0lXS67_QGs52AzC8Ru8'
-
jose.jws.
verify
(token, key, algorithms, verify=True)¶ Verifies a JWS string’s signature.
Parameters: - token (str) – A signed JWS to be verified.
- key (str or dict) – A key to attempt to verify the payload with. Can be individual JWK or JWK set.
- algorithms (str or list) – Valid algorithms that should be used to verify the JWS.
Returns: The str representation of the payload, assuming the signature is valid.
Return type: str
Raises: JWSError
– If there is an exception verifying a token.Examples
>>> token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhIjoiYiJ9.jiMyrsmD8AoHWeQgmxZ5yq8z0lXS67_QGs52AzC8Ru8' >>> jws.verify(token, 'secret', algorithms='HS256')