not_before=timegm((not_before or now).utctimetuple()),
                key=json_encode(base64url_decode(json_decode(key.export())['k']) if key.is_symmetric else key.export_to_pem(True, None))),
            False)
    return f

def verify(alg):
    """ return function which can verify token using node-jsjws """
    key = pub_keys[alg].get('default', pub_key)
    def f(sjwt, iat_skew=timedelta()):
        """ verify token using node-jsjws """
        r = spawn(
            "fixtures.verify({now}, {sjwt}, {iat_skew}, {key}, {alg})".format(
                now=timegm(datetime.utcnow().utctimetuple()),
                sjwt=json_encode(sjwt),
                iat_skew=iat_skew.total_seconds(),
                key=json_encode(base64url_decode(json_decode(key.export())['k']) if key.is_symmetric else key.export_to_pem()),
                alg=json_encode(alg)),
            True)
        return tuple(r)
    return f

for alg in algs:
    priv_keys[alg]['node_jsjws'] = generate(alg)
    pub_keys[alg]['node_jsjws'] = verify(alg)

jwt_spec.setup(['HS256', 'HS512', 'RS256', 'RS512', 'PS256', 'PS512'])

for alg in algs:
    del priv_keys[alg]['node_jsjws']
    del pub_keys[alg]['node_jsjws']
                not_before=timegm((not_before or now).utctimetuple()),
                key=json.dumps(key)),
            False)
    return f

def verify(alg):
    """ return function which can verify token using node-jsjws """
    key = pub_keys[alg].get('default', pub_pem)
    def f(sjwt, iat_skew=timedelta()):
        """ verify token using node-jsjws """
        r = spawn(
            "fixtures.verify({now}, {sjwt}, {iat_skew}, {key}, {alg})".format(
                now=timegm(datetime.utcnow().utctimetuple()),
                sjwt=json.dumps(sjwt),
                iat_skew=iat_skew.total_seconds(),
                key=json.dumps(key),
                alg=json.dumps(alg)),
            True)
        return tuple(r)
    return f

for alg in algs:
    priv_keys[alg]['node_jsjws'] = generate(alg)
    pub_keys[alg]['node_jsjws'] = verify(alg)

jwt_spec.setup(['HS256', 'HS512', 'RS256', 'RS512', 'PS256', 'PS512'])

for alg in algs:
    del priv_keys[alg]['node_jsjws']
    del pub_keys[alg]['node_jsjws']
def verify(alg):
    """ return function which can verify token using jose """
    key = pub_keys[alg]['python-jwt']

    def f(sjwt, iat_skew=timedelta()):
        """ verify token using jose """
        r = spawn(
            "fixtures.verify({now}, {sjwt}, {iat_skew}, {key}, {alg})".format(
                now=timegm(datetime.utcnow().utctimetuple()),
                sjwt=json_encode(sjwt),
                iat_skew=iat_skew.total_seconds(),
                key=json_encode(
                    base64url_decode(json_decode(key.export())['k']) if key.
                    is_symmetric else key.export_to_pem()),
                alg=json_encode(alg)), True)
        return tuple(r)

    return f


for alg in algs:
    priv_keys[alg]['jose'] = generate(alg)
    pub_keys[alg]['jose'] = verify(alg)

jwt_spec.setup(['HS256', 'RS256', 'PS256', 'ES256', 'ES256K', 'EdDSA'])

for alg in algs:
    del priv_keys[alg]['jose']
    del pub_keys[alg]['jose']
def verify(alg):
    """ return function which can verify token using node-jsjws """
    key = pub_keys[alg].get("default", pub_pem)

    def f(sjwt, iat_skew=timedelta()):
        """ verify token using node-jsjws """
        r = spawn(
            "fixtures.verify({now}, {sjwt}, {iat_skew}, {key}, {alg})".format(
                now=timegm(datetime.utcnow().utctimetuple()),
                sjwt=json.dumps(sjwt),
                iat_skew=iat_skew.total_seconds(),
                key=json.dumps(key),
                alg=json.dumps(alg),
            ),
            True,
        )
        return tuple(r)

    return f


for alg in algs:
    priv_keys[alg]["node_jsjws"] = generate(alg)
    pub_keys[alg]["node_jsjws"] = verify(alg)

jwt_spec.setup(["HS256", "HS512", "RS256", "RS512", "PS256", "PS512"])

for alg in algs:
    del priv_keys[alg]["node_jsjws"]
    del pub_keys[alg]["node_jsjws"]
Example #5
0
""" Run the JWT tests """

from test import jwt_spec
jwt_spec.setup()