diff --git a/example/idp/idp.py b/example/idp/idp.py
index a44a125..af720bd 100755
--- a/example/idp/idp.py
+++ b/example/idp/idp.py
@@ -2,6 +2,8 @@
import re
import base64
+import logging
+
#from cgi import parse_qs
from urlparse import parse_qs
from saml2 import server, root_logger
@@ -9,6 +11,8 @@ from saml2 import BINDING_HTTP_REDIRECT, BINDING_HTTP_POST
from saml2 import time_util
from Cookie import SimpleCookie
+logger = logging.getLogger("saml2.IDP")
+
def _expiration(timeout, format=None):
if timeout == "now":
return time_util.instant(format)
@@ -63,7 +67,7 @@ FORM_SPEC = """
"""
-def sso(environ, start_response, user, logger):
+def sso(environ, start_response, user):
""" Supposted to return a POST """
#edict = dict_to_table(environ)
#if logger: logger.info("Environ keys: %s" % environ.keys())
@@ -107,7 +111,7 @@ def sso(environ, start_response, user, logger):
"SAML 2.0 POST",
"",
FORM_SPEC % (req_info["consumer_url"],
- base64.b64encode("".join(authn_resp)), "/"),
+ base64.b64encode(str(authn_resp)), "/"),
"""""",
@@ -116,7 +120,7 @@ def sso(environ, start_response, user, logger):
start_response('200 OK', [('Content-Type', 'text/html')])
return response
-def whoami(environ, start_response, user, logger):
+def whoami(environ, start_response, user):
start_response('200 OK', [('Content-Type', 'text/html')])
identity = environ["repoze.who.identity"].copy()
for prop in ["login", "password"]:
@@ -127,19 +131,19 @@ def whoami(environ, start_response, user, logger):
response = dict_to_table(identity)
return response[:]
-def not_found(environ, start_response, logger):
+def not_found(environ, start_response):
"""Called if no URL matches."""
start_response('404 NOT FOUND', [('Content-Type', 'text/plain')])
return ['Not Found']
-def not_authn(environ, start_response, logger):
+def not_authn(environ, start_response):
if "QUERY_STRING" in environ:
query = parse_qs(environ["QUERY_STRING"])
- if logger: logger.info("query: %s" % query)
+ logger.info("query: %s" % query)
start_response('401 Unauthorized', [('Content-Type', 'text/plain')])
return ['Unknown user']
-def slo(environ, start_response, user, logger):
+def slo(environ, start_response, user):
""" Expects a HTTP-redirect logout request """
query = None
@@ -231,9 +235,8 @@ def application(environ, start_response):
user = environ.get("repoze.who.identity", "")
path = environ.get('PATH_INFO', '').lstrip('/')
- logger = environ.get('repoze.who.logger')
- if logger: logger.info(" PATH: %s" % path)
- if logger: logger.info("Cookie: %s" % (kaka,))
+ logger.info(" PATH: %s" % path)
+ logger.info("Cookie: %s" % (kaka,))
for regex, callback in URLS:
if user:
match = re.search(regex, path)
@@ -242,12 +245,12 @@ def application(environ, start_response):
environ['myapp.url_args'] = match.groups()[0]
except IndexError:
environ['myapp.url_args'] = path
- if logger: logger.info("callback: %s" % (callback,))
- return callback(environ, start_response, user, logger)
+ logger.info("callback: %s" % (callback,))
+ return callback(environ, start_response, user)
else:
- if logger: logger.info("-- No USER --")
- return not_authn(environ, start_response, logger)
- return not_found(environ, start_response, logger)
+ logger.info("-- No USER --")
+ return not_authn(environ, start_response)
+ return not_found(environ, start_response)
# ----------------------------------------------------------------------------
diff --git a/example/sp/sp.py b/example/sp/sp.py
index 95bc523..5f8147b 100755
--- a/example/sp/sp.py
+++ b/example/sp/sp.py
@@ -5,6 +5,8 @@ import re
from cgi import parse_qs
from saml2 import BINDING_HTTP_REDIRECT
+logger = logging.getLogger("")
+
# -----------------------------------------------------------------------------
def dict_to_table(ava, lev=0, width=1):
txt = ['\n' % width]
@@ -48,7 +50,7 @@ def dict_to_table(ava, lev=0, width=1):
#noinspection PyUnusedLocal
-def whoami(environ, start_response, user, logger):
+def whoami(environ, start_response, user):
identity = environ["repoze.who.identity"]["user"]
if not identity:
return not_authn(environ, start_response)
@@ -70,14 +72,13 @@ def not_authn(environ, start_response):
return ['Unknown user']
#noinspection PyUnusedLocal
-def slo(environ, start_response, user, logger):
+def slo(environ, start_response, user):
# so here I might get either a LogoutResponse or a LogoutRequest
client = environ['repoze.who.plugins']["saml2auth"]
sids = None
if "QUERY_STRING" in environ:
query = parse_qs(environ["QUERY_STRING"])
- if logger:
- logger.info("query: %s" % query)
+ logger.info("query: %s" % query)
try:
(sids, code, head, message) = client.saml_client.logout_response(
query["SAMLResponse"][0],
@@ -92,13 +93,13 @@ def slo(environ, start_response, user, logger):
return ["Successfull Logout"]
#noinspection PyUnusedLocal
-def logout(environ, start_response, user, logger):
+def logout(environ, start_response, user):
client = environ['repoze.who.plugins']["saml2auth"]
subject_id = environ["repoze.who.identity"]['repoze.who.userid']
logger.info("[logout] subject_id: '%s'" % (subject_id,))
target = "/done"
# What if more than one
- tmp = client.saml_client.global_logout(subject_id, return_to=target)
+ tmp = client.saml_client.global_logout(subject_id)
logger.info("[logout] global_logout > %s" % (tmp,))
(session_id, code, header, result) = tmp
@@ -114,7 +115,7 @@ def logout(environ, start_response, user, logger):
return ["Failed to logout from identity services"]
#noinspection PyUnusedLocal
-def done(environ, start_response, user, logger):
+def done(environ, start_response, user):
# remove cookie and stored info
logger.info("[done] environ: %s" % environ)
subject_id = environ["repoze.who.identity"]['repoze.who.userid']
@@ -157,10 +158,9 @@ def application(environ, start_response):
user = environ.get("repoze.who.identity", "")
path = environ.get('PATH_INFO', '').lstrip('/')
- logger = environ.get('repoze.who.logger')
logger.info(" PATH: %s" % path)
logger.info("logger name: %s" % logger.name)
- logger.info(logging.Logger.manager.loggerDict)
+ #logger.info(logging.Logger.manager.loggerDict)
for regex, callback in urls:
if user:
match = re.search(regex, path)
@@ -169,7 +169,7 @@ def application(environ, start_response):
environ['myapp.url_args'] = match.groups()[0]
except IndexError:
environ['myapp.url_args'] = path
- return callback(environ, start_response, user, logger)
+ return callback(environ, start_response, user)
else:
return not_authn(environ, start_response)
return not_found(environ, start_response)