def verify_self_signed_jwks(sjwt):
_jws = factory(sjwt)<EOL>_json = _jws.jwt.part[<NUM_LIT:1>]<EOL>_body = json.loads(as_unicode(_json))<EOL>iss = _body['<STR_LIT>']<EOL>_jwks = _body['<STR_LIT>']<EOL>_kj = jwks_to_keyjar(_jwks, iss)<EOL>try:<EOL><INDENT>_kid = _jws.jwt.headers['<STR_LIT>']<EOL><DEDENT>except KeyError:<EOL><INDENT>_keys = _kj.get_signing_key(owner=iss)<EOL><DEDENT>else:<EOL><INDENT>_keys = _kj.get_signing_key(owner=iss, kid=_kid)<EOL><DEDENT>_ver = _jws.verify_compact(sjwt, _keys)<EOL>return {'<STR_LIT>': _ver['<STR_LIT>'], '<STR_LIT>': iss}<EOL>
Verify the signature of a signed JWT containing a JWKS.
The JWT is signed by one of the keys in the JWKS. 
In the JWT the JWKS is stored using this format ::

    'jwks': {
        'keys': [ ]
    }

:param sjwt: Signed Jason Web Token
:return: Dictionary containing 'jwks' (the JWKS) and 'iss' (the issuer of 
    the JWT)