+class IdpMetadataGenerator(object):
+
+ def __init__(self, url, idp_cert):
+ self.meta = metadata.Metadata(metadata.IDP_ROLE)
+ self.meta.set_entity_id('%s/saml2/metadata' % url)
+ self.meta.add_certs(idp_cert, idp_cert)
+ self.meta.add_service(metadata.SAML2_SERVICE_MAP['sso-post'],
+ '%s/saml2/SSO/POST' % url)
+ self.meta.add_service(metadata.SAML2_SERVICE_MAP['sso-redirect'],
+ '%s/saml2/SSO/Redirect' % url)
+ self.meta.add_allowed_name_format(
+ lasso.SAML2_NAME_IDENTIFIER_FORMAT_TRANSIENT)
+ self.meta.add_allowed_name_format(
+ lasso.SAML2_NAME_IDENTIFIER_FORMAT_PERSISTENT)
+ self.meta.add_allowed_name_format(
+ lasso.SAML2_NAME_IDENTIFIER_FORMAT_EMAIL)
+
+ def output(self, path=None):
+ return self.meta.output(path)
+
+