Usually just a word or punctuation; occasionally I rewrote a sentence if I had a hard time determining what was meant by the original. (N.B. if I misunderstood something, then my re-wording will be wrong!) Also added eol to many files that were missing it, which throws off 'cat somefile' at a shell prompt (but did not yet touch anything under src/, which also has many files without eol). I did not re-line-wrap the text I changed, so that the diffs are minimized and meaningful changes are easier to spot.
		
			
				
	
	
		
			145 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			145 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
#!/usr/bin/env python
 | 
						|
# -*- coding: utf-8 -*-
 | 
						|
from saml2 import BINDING_HTTP_REDIRECT, BINDING_URI
 | 
						|
from saml2 import BINDING_HTTP_ARTIFACT
 | 
						|
from saml2 import BINDING_HTTP_POST
 | 
						|
from saml2 import BINDING_SOAP
 | 
						|
from saml2.saml import NAME_FORMAT_URI
 | 
						|
from saml2.saml import NAMEID_FORMAT_TRANSIENT
 | 
						|
from saml2.saml import NAMEID_FORMAT_PERSISTENT
 | 
						|
import os.path
 | 
						|
 | 
						|
try:
 | 
						|
    from saml2.sigver import get_xmlsec_binary
 | 
						|
except ImportError:
 | 
						|
    get_xmlsec_binary = None
 | 
						|
 | 
						|
if get_xmlsec_binary:
 | 
						|
    xmlsec_path = get_xmlsec_binary(["/opt/local/bin"])
 | 
						|
else:
 | 
						|
    xmlsec_path = '/usr/bin/xmlsec1'
 | 
						|
 | 
						|
BASEDIR = os.path.abspath(os.path.dirname(__file__))
 | 
						|
 | 
						|
 | 
						|
def full_path(local_file):
 | 
						|
    return os.path.join(BASEDIR, local_file)
 | 
						|
 | 
						|
#BASE = "http://lingon.ladok.umu.se:8088"
 | 
						|
#BASE = "http://lingon.catalogix.se:8088"
 | 
						|
BASE = "http://localhost:8088"
 | 
						|
 | 
						|
CONFIG = {
 | 
						|
    "entityid": "%s/idp.xml" % BASE,
 | 
						|
    "description": "My IDP",
 | 
						|
    "valid_for": 168,
 | 
						|
    "service": {
 | 
						|
        "aa": {
 | 
						|
            "endpoints": {
 | 
						|
                "attribute_service": [
 | 
						|
                    ("%s/attr" % BASE, BINDING_SOAP)
 | 
						|
                ]
 | 
						|
            },
 | 
						|
            "name_id_format": [NAMEID_FORMAT_TRANSIENT,
 | 
						|
                               NAMEID_FORMAT_PERSISTENT]
 | 
						|
        },
 | 
						|
        "aq": {
 | 
						|
            "endpoints": {
 | 
						|
                "authn_query_service": [
 | 
						|
                    ("%s/aqs" % BASE, BINDING_SOAP)
 | 
						|
                ]
 | 
						|
            },
 | 
						|
        },
 | 
						|
        "idp": {
 | 
						|
            "name": "Rolands IdP",
 | 
						|
            "endpoints": {
 | 
						|
                "single_sign_on_service": [
 | 
						|
                    ("%s/sso/redirect" % BASE, BINDING_HTTP_REDIRECT),
 | 
						|
                    ("%s/sso/post" % BASE, BINDING_HTTP_POST),
 | 
						|
                    ("%s/sso/art" % BASE, BINDING_HTTP_ARTIFACT),
 | 
						|
                    ("%s/sso/ecp" % BASE, BINDING_SOAP)
 | 
						|
                ],
 | 
						|
                "single_logout_service": [
 | 
						|
                    ("%s/slo/soap" % BASE, BINDING_SOAP),
 | 
						|
                    ("%s/slo/post" % BASE, BINDING_HTTP_POST),
 | 
						|
                    ("%s/slo/redirect" % BASE, BINDING_HTTP_REDIRECT)
 | 
						|
                ],
 | 
						|
                "artifact_resolve_service": [
 | 
						|
                    ("%s/ars" % BASE, BINDING_SOAP)
 | 
						|
                ],
 | 
						|
                "assertion_id_request_service": [
 | 
						|
                    ("%s/airs" % BASE, BINDING_URI)
 | 
						|
                ],
 | 
						|
                "manage_name_id_service": [
 | 
						|
                    ("%s/mni/soap" % BASE, BINDING_SOAP),
 | 
						|
                    ("%s/mni/post" % BASE, BINDING_HTTP_POST),
 | 
						|
                    ("%s/mni/redirect" % BASE, BINDING_HTTP_REDIRECT),
 | 
						|
                    ("%s/mni/art" % BASE, BINDING_HTTP_ARTIFACT)
 | 
						|
                ],
 | 
						|
                "name_id_mapping_service": [
 | 
						|
                    ("%s/nim" % BASE, BINDING_SOAP),
 | 
						|
                ],
 | 
						|
            },
 | 
						|
            "policy": {
 | 
						|
                "default": {
 | 
						|
                    "lifetime": {"minutes": 15},
 | 
						|
                    "attribute_restrictions": None, # means all I have
 | 
						|
                    "name_form": NAME_FORMAT_URI,
 | 
						|
                    "entity_categories": ["swamid", "edugain"]
 | 
						|
                },
 | 
						|
            },
 | 
						|
            "subject_data": "./idp.subject",
 | 
						|
            "name_id_format": [NAMEID_FORMAT_TRANSIENT,
 | 
						|
                               NAMEID_FORMAT_PERSISTENT]
 | 
						|
        },
 | 
						|
    },
 | 
						|
    "debug": 1,
 | 
						|
    "key_file": full_path("pki/mykey.pem"),
 | 
						|
    "cert_file": full_path("pki/mycert.pem"),
 | 
						|
    "metadata": {
 | 
						|
        "local": [full_path("../sp-wsgi/sp.xml")],
 | 
						|
    },
 | 
						|
    "organization": {
 | 
						|
        "display_name": "Rolands Identiteter",
 | 
						|
        "name": "Rolands Identiteter",
 | 
						|
        "url": "http://www.example.com",
 | 
						|
    },
 | 
						|
    "contact_person": [
 | 
						|
        {
 | 
						|
            "contact_type": "technical",
 | 
						|
            "given_name": "Roland",
 | 
						|
            "sur_name": "Hedberg",
 | 
						|
            "email_address": "technical@example.com"
 | 
						|
        }, {
 | 
						|
            "contact_type": "support",
 | 
						|
            "given_name": "Support",
 | 
						|
            "email_address": "support@example.com"
 | 
						|
        },
 | 
						|
    ],
 | 
						|
    # This database holds the map between a subject's local identifier and
 | 
						|
    # the identifier returned to a SP
 | 
						|
    "xmlsec_binary": xmlsec_path,
 | 
						|
    #"attribute_map_dir": "../attributemaps",
 | 
						|
    "logger": {
 | 
						|
        "rotating": {
 | 
						|
            "filename": "idp.log",
 | 
						|
            "maxBytes": 500000,
 | 
						|
            "backupCount": 5,
 | 
						|
        },
 | 
						|
        "loglevel": "debug",
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
# Authentication contexts
 | 
						|
 | 
						|
    #(r'verify?(.*)$', do_verify),
 | 
						|
 | 
						|
CAS_SERVER = "https://cas.umu.se"
 | 
						|
CAS_VERIFY = "%s/verify_cas" % BASE
 | 
						|
PWD_VERIFY = "%s/verify_pwd" % BASE
 | 
						|
 | 
						|
AUTHORIZATION = {
 | 
						|
    "CAS" : {"ACR": "CAS", "WEIGHT": 1, "URL": CAS_VERIFY},
 | 
						|
    "UserPassword" : {"ACR": "PASSWORD", "WEIGHT": 2, "URL": PWD_VERIFY}
 | 
						|
}
 |