def test_decode_only_ability(): bits = 2048 key, public = rsa.generate_rsa(bits) jwt = JWT(key) token = jwt.encode(foo="bar") with pytest.raises(RuntimeError): jwt.decode(token)
def test_encode_only_ability(): bits = 2048 key, public = rsa.generate_rsa(bits) token = JWT(key).encode(foo="bar") jwt = JWT(None, public) assert "foo" in jwt.decode(token) with pytest.raises(RuntimeError): jwt.encode(foo=None)
def test_jwt_token(expired, nbf): bits = 2048 key, public = rsa.generate_rsa(bits) jwt = JWT(key, public) token = jwt.encode(foo="bar", expired=expired, nbf=nbf) assert token assert "foo" in jwt.decode(token) header, data, signature = token.split(".") signature = signature[::-1] with pytest.raises(InvalidSignatureError): jwt.decode(".".join((header, data, signature))) header = base64.b64encode(b'{"alg":"none"}').decode() with pytest.raises(InvalidAlgorithmError): jwt.decode(".".join((header, data, "")))