def run(self, params, **options): authority = Authority.objects.get(id=params.id[0]) jku = authority.auth_metadata_object.jwks_uri or \ AuthorityKeyResource.url( authority.identifier, tenant=authority.tenant, id=params.jkuid) jwkset = JwkSet( keys=[Jwk.generate(kty=params.kty[0])]) jwkset.save(authority, jku)
def test_create(self): from connect.rp.models import RelyingParty r = RelyingParty.get_selfissued('http://key.com/') self.assertEqual(r.keys.count(), 0) self.assertEqual(r.authority.keys.count(), 0) from jose.jwk import Jwk, JwkSet from jose.jwa import keys jwkset = JwkSet() jwkset.keys.append(Jwk(kid='kidRsa', kty=keys.KeyTypeEnum.RSA)) jwkset.keys.append(Jwk(kid='kidEc', kty=keys.KeyTypeEnum.EC)) jwkset.keys.append(Jwk(kid='kidOct', kty=keys.KeyTypeEnum.OCT)) jwkset.save(r) self.assertEqual(r.keys.count(), 1) self.assertEqual(r.authority.keys.count(), 0) jwkset.save(r.authority) self.assertEqual(r.keys.count(), 1) self.assertEqual(r.authority.keys.count(), 1)