#!/usr/bin/env python from saml2.saml import AUTHN_PASSWORD __author__ = 'rolandh' import json BASE = "http://localhost:8087" #BASE= "http://lingon.catalogix.se:8087" metadata = open("./sp/sp.xml").read() AUTHN = {"class_ref": AUTHN_PASSWORD, "authn_auth": "http://lingon.catalogix.se/login"} info = { "start_page": BASE, "entity_id": "%s/sp.xml" % BASE, "result": { "matches": { "content": "

Your identity are" }, }, "metadata": metadata, "args": { "AuthnResponse": { "sign_assertion": "always", # always, never "sign_response": "never", # always, never "sign_digest_alg": ds.DIGEST_SHA256, "sign_signature_alg": ds.SIG_RSA_SHA256, "authn": AUTHN } }, # This is the set of attributes and values that are returned in the # SAML Assertion "identity": { "given_name": "Roland", "sn": "Hedberg" }, # This is the value of the NameID that is return in the Subject in the # Assertion "userid": "roland", # regex pattern that must be contained in the resulting echo page to validate # that the SP returned the right page after Login. "echopageIdPattern": r"SAML Echo Service", # list of regex patterns that must be contained in the resulting echo page to validate # that the SP's echo page returns expected SAMLe response values (e.g. attribute values) "echopageContentPattern": [r"Given Name\s*\s*Roland", r"Userid\s*\s*roalnd", r"Surname\s*\s*Hedberg", ], "constraints": { "authnRequest_signature_required": True, # allowed for assertion & response signature: "signature_algorithm": [ #ds.SIG_RSA_SHA1, # you may need this for legacy deployments ds.SIG_RSA_SHA224, ds.SIG_RSA_SHA256, ds.SIG_RSA_SHA384, ds.SIG_RSA_SHA512, ], "digest_algorithm": [ #ds.DIGEST_SHA1, # you may need this for legacy deployments ds.DIGEST_SHA1, ds.DIGEST_SHA224, ds.DIGEST_SHA256, ds.DIGEST_SHA384, ds.DIGEST_SHA512, ds.DIGEST_RIPEMD160, ], }, } print(json.dumps(info))