def unpack_aggregated_claims(self, userinfo): if userinfo["_claim_sources"]: for csrc, spec in userinfo["_claim_sources"].items(): if "JWT" in spec: aggregated_claims = Message().from_jwt(spec["JWT"].encode("utf-8"), keyjar=self.keyjar, sender=csrc) claims = [value for value, src in userinfo["_claim_names"].items() if src == csrc] assert claims == aggregated_claims.keys() for key, vals in aggregated_claims.items(): userinfo[key] = vals return userinfo