def pack_metadata_statement(self, metadata, keyjar=None, iss=None, alg='', **kwargs): """ :param metas: Original metadata statement as a MetadataStatement instance :param keyjar: KeyJar in which the necessary keys should reside :param alg: Which signing algorithm to use :param kwargs: Additional metadata statement attribute values :return: A JWT """ if iss is None: iss = self.iss if keyjar is None: keyjar = self.keyjar # Own copy _metadata = copy.deepcopy(metadata) _metadata.update(kwargs) _jwt = JWT(keyjar, iss=iss, msgtype=_metadata.__class__) if alg: _jwt.sign_alg = alg return _jwt.pack(cls_instance=_metadata)
def __call__(self, req, **kwargs): """ :param req: Original metadata statement as a :py:class:`MetadataStatement` instance :param keyjar: KeyJar in which the necessary keys should reside :param iss: Issuer ID :param alg: Which signing algorithm to use :param kwargs: Additional metadata statement attribute values :return: A JWT """ iss = self.iss keyjar = self.signing_keys # Own copy _metadata = copy.deepcopy(req) if self.add_ons: _metadata.update(self.add_ons) _jwt = JWT(keyjar, iss=iss, msgtype=_metadata.__class__, lifetime=self.lifetime) _jwt.sign_alg = self.alg if iss in keyjar.issuer_keys: owner = iss else: owner = '' if kwargs: return _jwt.pack(cls_instance=_metadata, owner=owner, **kwargs) else: return _jwt.pack(cls_instance=_metadata, owner=owner)
def pack_metadata_statement(self, metadata, keyjar=None, iss=None, alg='', jwt_args=None, lifetime=-1, **kwargs): """ Given a MetadataStatement instance create a signed JWT. :param metadata: Original metadata statement as a MetadataStatement instance :param keyjar: KeyJar in which the necessary signing keys should reside :param iss: Issuer ID :param alg: Which signing algorithm to use :param jwt_args: Additional JWT attribute values :param lifetime: Lifetime of the signed JWT :param kwargs: Additional metadata statement attribute values :return: A JWT """ if iss is None: iss = self.iss if keyjar is None: keyjar = self.keyjar if lifetime == -1: lifetime = self.lifetime # Own copy _metadata = copy.deepcopy(metadata) _metadata.update(kwargs) _jwt = JWT(keyjar, iss=iss, msgtype=_metadata.__class__, lifetime=lifetime) if alg: _jwt.sign_alg = alg if iss in keyjar.keys(): owner = iss else: owner = '' if jwt_args: return _jwt.pack(cls_instance=_metadata, owner=owner, **jwt_args) else: return _jwt.pack(cls_instance=_metadata, owner=owner)
def pack_metadata_statement(metadata, keyjar, iss, alg='', **kwargs): """ :param metas: Original metadata statement as a MetadataStatement instance :param keyjar: KeyJar in which the necessary keys should reside :param alg: Which signing algorithm to use :param kwargs: Additional metadata statement attribute values :return: A JWT """ metadata.update(kwargs) _jwt = JWT(keyjar, iss=iss, msgtype=metadata.__class__) if alg: _jwt.sign_alg = alg return _jwt.pack(cls_instance=metadata)