On Copyright statement in one place.
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
Copyright 2013 Roland Hedberg. All rights reserved.
|
Copyright 2014 Roland Hedberg. All rights reserved.
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without modification, are
|
Redistribution and use in source and binary forms, with or without modification, are
|
||||||
permitted provided that the following conditions are met:
|
permitted provided that the following conditions are met:
|
||||||
|
@@ -39,7 +39,7 @@ master_doc = 'index'
|
|||||||
|
|
||||||
# General information about the project.
|
# General information about the project.
|
||||||
project = u'pysaml2'
|
project = u'pysaml2'
|
||||||
copyright = u'2010-2011, Roland Hedberg'
|
copyright = u'2014, Roland Hedberg'
|
||||||
|
|
||||||
# The version info for the project you're documenting, acts as replacement for
|
# The version info for the project you're documenting, acts as replacement for
|
||||||
# |version| and |release|, also used in various other places throughout the
|
# |version| and |release|, also used in various other places throughout the
|
||||||
|
@@ -51,6 +51,7 @@ from mako.lookup import TemplateLookup
|
|||||||
logger = logging.getLogger("saml2.idp")
|
logger = logging.getLogger("saml2.idp")
|
||||||
logger.setLevel(logging.WARNING)
|
logger.setLevel(logging.WARNING)
|
||||||
|
|
||||||
|
|
||||||
class Cache(object):
|
class Cache(object):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.user2uid = {}
|
self.user2uid = {}
|
||||||
@@ -879,6 +880,7 @@ def metadata(environ, start_response):
|
|||||||
logger.error("An error occured while creating metadata:" + ex.message)
|
logger.error("An error occured while creating metadata:" + ex.message)
|
||||||
return not_found(environ, start_response)
|
return not_found(environ, start_response)
|
||||||
|
|
||||||
|
|
||||||
def staticfile(environ, start_response):
|
def staticfile(environ, start_response):
|
||||||
try:
|
try:
|
||||||
path = args.path
|
path = args.path
|
||||||
@@ -893,6 +895,7 @@ def staticfile(environ, start_response):
|
|||||||
logger.error("An error occured while creating metadata:" + ex.message)
|
logger.error("An error occured while creating metadata:" + ex.message)
|
||||||
return not_found(environ, start_response)
|
return not_found(environ, start_response)
|
||||||
|
|
||||||
|
|
||||||
def application(environ, start_response):
|
def application(environ, start_response):
|
||||||
"""
|
"""
|
||||||
The main WSGI application. Dispatch the current request to
|
The main WSGI application. Dispatch the current request to
|
||||||
|
@@ -16,7 +16,7 @@
|
|||||||
<%def name="post()" filter="trim">
|
<%def name="post()" filter="trim">
|
||||||
<div>
|
<div>
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<p>© Copyright 2011 Umeå Universitet </p>
|
<p>© Copyright 2014 Umeå Universitet </p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</%def>
|
</%def>
|
||||||
|
@@ -16,7 +16,7 @@
|
|||||||
<%def name="post()" filter="trim">
|
<%def name="post()" filter="trim">
|
||||||
<div>
|
<div>
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<p>© Copyright 2011 Umeå Universitet </p>
|
<p>© Copyright 2014 Umeå Universitet </p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</%def>
|
</%def>
|
||||||
|
23
setup.py
23
setup.py
@@ -1,27 +1,10 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
#
|
|
||||||
# Copyright (C) 2007 SIOS Technology, Inc.
|
|
||||||
# Copyright (C) 2011 Umea Universitet, Sweden
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
#
|
|
||||||
#
|
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
from setuptools import setup
|
from setuptools import setup
|
||||||
from setuptools.command.test import test as TestCommand
|
from setuptools.command.test import test as TestCommand
|
||||||
|
|
||||||
|
|
||||||
class PyTest(TestCommand):
|
class PyTest(TestCommand):
|
||||||
|
|
||||||
def finalize_options(self):
|
def finalize_options(self):
|
||||||
@@ -84,7 +67,9 @@ setup(
|
|||||||
package_data={'': ['xml/*.xml']},
|
package_data={'': ['xml/*.xml']},
|
||||||
classifiers=["Development Status :: 4 - Beta",
|
classifiers=["Development Status :: 4 - Beta",
|
||||||
"License :: OSI Approved :: Apache Software License",
|
"License :: OSI Approved :: Apache Software License",
|
||||||
"Topic :: Software Development :: Libraries :: Python Modules"],
|
"Topic :: Software Development :: Libraries :: Python Modules",
|
||||||
|
"Programming Language :: Python :: 2.6",
|
||||||
|
"Programming Language :: Python :: 2.7"],
|
||||||
|
|
||||||
scripts=["tools/parse_xsd2.py", "tools/make_metadata.py",
|
scripts=["tools/parse_xsd2.py", "tools/make_metadata.py",
|
||||||
"tools/mdexport.py", "tools/merge_metadata.py"],
|
"tools/mdexport.py", "tools/merge_metadata.py"],
|
||||||
|
@@ -1,3 +1,2 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# Created by Roland Hedberg
|
# Created by Roland Hedberg
|
||||||
# Copyright (c) 2009 Umeå Universitet. All rights reserved.
|
|
||||||
|
@@ -1,3 +1 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# Created by Roland Hedberg
|
|
||||||
# Copyright (c) 2009 Umeå Universitet. All rights reserved.
|
|
||||||
|
@@ -1,17 +1,4 @@
|
|||||||
# Copyright (C) 2009 Umea University
|
|
||||||
#
|
#
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
A plugin that allows you to use SAML2 SSO as authentication
|
A plugin that allows you to use SAML2 SSO as authentication
|
||||||
and SAML2 attribute aggregations as metadata collector in your
|
and SAML2 attribute aggregations as metadata collector in your
|
||||||
|
@@ -1,19 +1,5 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
#
|
|
||||||
# Copyright (C) 2010-2011 Umeå University
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
import importlib
|
import importlib
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
|
@@ -1,19 +1,6 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
#
|
#
|
||||||
# Copyright (C) s2010-2011 Umeå University
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
|
@@ -1,19 +1,6 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
#
|
#
|
||||||
# Copyright (C) 2009-2011 Umeå University
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
Contains classes and functions that a SAML2.0 Service Provider (SP) may use
|
Contains classes and functions that a SAML2.0 Service Provider (SP) may use
|
||||||
|
@@ -1,19 +1,6 @@
|
|||||||
#!/usr/bin/env python
|
# !/usr/bin/env python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
#
|
#
|
||||||
# Copyright (C) 2009-2011 Umeå University
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
"""Contains classes and functions that a SAML2.0 Service Provider (SP) may use
|
"""Contains classes and functions that a SAML2.0 Service Provider (SP) may use
|
||||||
to conclude its tasks.
|
to conclude its tasks.
|
||||||
@@ -26,7 +13,7 @@ from saml2 import BINDING_HTTP_REDIRECT
|
|||||||
from saml2 import BINDING_HTTP_POST
|
from saml2 import BINDING_HTTP_POST
|
||||||
from saml2 import BINDING_SOAP
|
from saml2 import BINDING_SOAP
|
||||||
|
|
||||||
from saml2.ident import decode
|
from saml2.ident import decode, code
|
||||||
from saml2.httpbase import HTTPError
|
from saml2.httpbase import HTTPError
|
||||||
from saml2.s_utils import sid
|
from saml2.s_utils import sid
|
||||||
from saml2.s_utils import status_message_factory
|
from saml2.s_utils import status_message_factory
|
||||||
@@ -48,6 +35,7 @@ except ImportError:
|
|||||||
from cgi import parse_qs
|
from cgi import parse_qs
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
@@ -199,7 +187,7 @@ class Saml2Client(Base):
|
|||||||
self.state[req_id] = {"entity_id": entity_id,
|
self.state[req_id] = {"entity_id": entity_id,
|
||||||
"operation": "SLO",
|
"operation": "SLO",
|
||||||
"entity_ids": entity_ids,
|
"entity_ids": entity_ids,
|
||||||
"name_id": name_id,
|
"name_id": code(name_id),
|
||||||
"reason": reason,
|
"reason": reason,
|
||||||
"not_on_of_after": expire,
|
"not_on_of_after": expire,
|
||||||
"sign": sign}
|
"sign": sign}
|
||||||
@@ -247,11 +235,12 @@ class Saml2Client(Base):
|
|||||||
logger.info("issuer: %s" % issuer)
|
logger.info("issuer: %s" % issuer)
|
||||||
del self.state[response.in_response_to]
|
del self.state[response.in_response_to]
|
||||||
if status["entity_ids"] == [issuer]: # done
|
if status["entity_ids"] == [issuer]: # done
|
||||||
self.local_logout(status["name_id"])
|
self.local_logout(decode(status["name_id"]))
|
||||||
return 0, "200 Ok", [("Content-type", "text/html")], []
|
return 0, "200 Ok", [("Content-type", "text/html")], []
|
||||||
else:
|
else:
|
||||||
status["entity_ids"].remove(issuer)
|
status["entity_ids"].remove(issuer)
|
||||||
return self.do_logout(status["name_id"], status["entity_ids"],
|
return self.do_logout(decode(status["name_id"]),
|
||||||
|
status["entity_ids"],
|
||||||
status["reason"], status["not_on_or_after"],
|
status["reason"], status["not_on_or_after"],
|
||||||
status["sign"])
|
status["sign"])
|
||||||
|
|
||||||
|
@@ -1,19 +1,6 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
#
|
#
|
||||||
# Copyright (C) 2009-2011 Umeå University
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
"""Contains classes and functions that a SAML2.0 Service Provider (SP) may use
|
"""Contains classes and functions that a SAML2.0 Service Provider (SP) may use
|
||||||
to conclude its tasks.
|
to conclude its tasks.
|
||||||
|
@@ -1,19 +1,6 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
#
|
#
|
||||||
# Copyright (C) 2010-2011 Umeå University
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
Contains classes used in the SAML ECP profile
|
Contains classes used in the SAML ECP profile
|
||||||
|
@@ -1,19 +1,6 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
#
|
#
|
||||||
# Copyright (C) 2010-2011 Umeå University
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
Contains a class that can do SAML ECP Authentication for other python
|
Contains a class that can do SAML ECP Authentication for other python
|
||||||
|
@@ -26,6 +26,15 @@ class Unknown(SAMLError):
|
|||||||
|
|
||||||
|
|
||||||
def code(item):
|
def code(item):
|
||||||
|
"""
|
||||||
|
Turn a NameID class instance into a quoted string of comma separated
|
||||||
|
attribute,value pairs. The attribute name is replaced with a digits.
|
||||||
|
Depends on knowledge on the specific order of the attributes for that
|
||||||
|
class that is used.
|
||||||
|
|
||||||
|
:param item: The class instance
|
||||||
|
:return: A quoted string
|
||||||
|
"""
|
||||||
_res = []
|
_res = []
|
||||||
i = 0
|
i = 0
|
||||||
for attr in ATTR:
|
for attr in ATTR:
|
||||||
@@ -37,6 +46,10 @@ def code(item):
|
|||||||
|
|
||||||
|
|
||||||
def decode(txt):
|
def decode(txt):
|
||||||
|
"""Turns a coded string by code() into a NameID class instance.
|
||||||
|
|
||||||
|
:param txt: The coded string
|
||||||
|
"""
|
||||||
_nid = NameID()
|
_nid = NameID()
|
||||||
for part in txt.split(","):
|
for part in txt.split(","):
|
||||||
if part.find("=") != -1:
|
if part.find("=") != -1:
|
||||||
|
@@ -1,19 +1,6 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
#
|
#
|
||||||
# Copyright (C) 2010-2011 Umeå University
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
"""Contains classes and functions that are necessary to implement
|
"""Contains classes and functions that are necessary to implement
|
||||||
different bindings.
|
different bindings.
|
||||||
|
@@ -1,19 +1,6 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
#
|
#
|
||||||
# Copyright (C) 2010-2011 Umeå University
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
import calendar
|
import calendar
|
||||||
import logging
|
import logging
|
||||||
|
@@ -1,19 +1,6 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
#
|
#
|
||||||
# Copyright (C) 2009-2011 Umeå University
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
"""Contains classes and functions that a SAML2.0 Identity provider (IdP)
|
"""Contains classes and functions that a SAML2.0 Identity provider (IdP)
|
||||||
or attribute authority (AA) may use to conclude its tasks.
|
or attribute authority (AA) may use to conclude its tasks.
|
||||||
|
@@ -1,19 +1,6 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
#
|
#
|
||||||
# Copyright (C) 2009-2011 Umeå University
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
""" Functions connected to signing and verifying.
|
""" Functions connected to signing and verifying.
|
||||||
Based on the use of xmlsec1 binaries and not the python xmlsec module.
|
Based on the use of xmlsec1 binaries and not the python xmlsec module.
|
||||||
|
@@ -1,19 +1,6 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
#
|
#
|
||||||
# Copyright (C) 2009-2011 Umeå University
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
Suppport for the client part of the SAML2.0 SOAP binding.
|
Suppport for the client part of the SAML2.0 SOAP binding.
|
||||||
|
@@ -1,19 +1,6 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
#
|
#
|
||||||
# Copyright (C) 2009-2011 Umeå University
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
"""
|
"""
|
||||||
Implements some usefull functions when dealing with validity of
|
Implements some usefull functions when dealing with validity of
|
||||||
different types of information.
|
different types of information.
|
||||||
|
@@ -1,18 +1,5 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
#
|
#
|
||||||
# Copyright (C) 2007 SIOS Technology, Inc.
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
"""Test data for ds"""
|
"""Test data for ds"""
|
||||||
|
|
||||||
|
@@ -1,18 +1,5 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
#
|
#
|
||||||
# Copyright (C) 2007 SIOS Technology, Inc.
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
"""Test data for md"""
|
"""Test data for md"""
|
||||||
|
|
||||||
|
@@ -1,18 +1,5 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
#
|
#
|
||||||
# Copyright (C) 2007 SIOS Technology, Inc.
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
"""Test data for saml2"""
|
"""Test data for saml2"""
|
||||||
|
|
||||||
|
@@ -1,18 +1,5 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
#
|
#
|
||||||
# Copyright (C) 2007 SIOS Technology, Inc.
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
"""Test data for saml2"""
|
"""Test data for saml2"""
|
||||||
|
|
||||||
|
@@ -3,36 +3,37 @@ __author__ = 'rolandh'
|
|||||||
from pathutils import full_path
|
from pathutils import full_path
|
||||||
|
|
||||||
|
|
||||||
CONFIG={
|
CONFIG = {
|
||||||
"entityid" : "urn:mace:example.com:saml:roland:sp",
|
"entityid": "urn:mace:example.com:saml:roland:sp",
|
||||||
"name" : "urn:mace:example.com:saml:roland:sp",
|
"name": "urn:mace:example.com:saml:roland:sp",
|
||||||
"description": "My own SP",
|
"description": "My own SP",
|
||||||
"service": {
|
"service": {
|
||||||
"sp": {
|
"sp": {
|
||||||
"endpoints":{
|
"endpoints": {
|
||||||
"assertion_consumer_service": ["http://lingon.catalogix.se:8087/"],
|
"assertion_consumer_service": [
|
||||||
|
"http://lingon.catalogix.se:8087/"],
|
||||||
},
|
},
|
||||||
"required_attributes": ["surName", "givenName", "mail"],
|
"required_attributes": ["surName", "givenName", "mail"],
|
||||||
"optional_attributes": ["title"],
|
"optional_attributes": ["title"],
|
||||||
"idp": ["urn:mace:example.com:saml:roland:idp"],
|
"idp": ["urn:mace:example.com:saml:roland:idp"],
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"debug" : 1,
|
"debug": 1,
|
||||||
"key_file" : full_path("test.key"),
|
"key_file": full_path("test.key"),
|
||||||
"cert_file" : full_path("test.pem"),
|
"cert_file": full_path("test.pem"),
|
||||||
#"xmlsec_binary" : None,
|
# "xmlsec_binary" : None,
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"local": [full_path("idp.xml"), full_path("vo_metadata.xml")],
|
"local": [full_path("idp.xml"), full_path("vo_metadata.xml")],
|
||||||
},
|
},
|
||||||
"virtual_organization" : {
|
"virtual_organization": {
|
||||||
"urn:mace:example.com:it:tek":{
|
"urn:mace:example.com:it:tek": {
|
||||||
"nameid_format" : "urn:oid:1.3.6.1.4.1.1466.115.121.1.15-NameID",
|
"nameid_format": "urn:oid:1.3.6.1.4.1.1466.115.121.1.15-NameID",
|
||||||
"common_identifier": "umuselin",
|
"common_identifier": "umuselin",
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"subject_data": full_path("subject_data.db"),
|
"subject_data": full_path("subject_data.db"),
|
||||||
"accepted_time_diff": 60,
|
"accepted_time_diff": 60,
|
||||||
"attribute_map_dir" : full_path("attributemaps"),
|
"attribute_map_dir": full_path("attributemaps"),
|
||||||
"organization": {
|
"organization": {
|
||||||
"name": ("AB Exempel", "se"),
|
"name": ("AB Exempel", "se"),
|
||||||
"display_name": ("AB Exempel", "se"),
|
"display_name": ("AB Exempel", "se"),
|
||||||
@@ -42,7 +43,8 @@ CONFIG={
|
|||||||
"given_name": "Roland",
|
"given_name": "Roland",
|
||||||
"sur_name": "Hedberg",
|
"sur_name": "Hedberg",
|
||||||
"telephone_number": "+46 70 100 0000",
|
"telephone_number": "+46 70 100 0000",
|
||||||
"email_address": ["tech@eample.com", "tech@example.org"],
|
"email_address": ["tech@eample.com",
|
||||||
|
"tech@example.org"],
|
||||||
"contact_type": "technical"
|
"contact_type": "technical"
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
@@ -6,16 +6,16 @@ from pathutils import full_path
|
|||||||
|
|
||||||
HOME = "http://lingon.catalogix.se:8087/"
|
HOME = "http://lingon.catalogix.se:8087/"
|
||||||
CONFIG = {
|
CONFIG = {
|
||||||
"entityid" : "urn:mace:example.com:saml:roland:sp",
|
"entityid": "urn:mace:example.com:saml:roland:sp",
|
||||||
"name" : "urn:mace:example.com:saml:roland:sp",
|
"name": "urn:mace:example.com:saml:roland:sp",
|
||||||
"description": "My own SP",
|
"description": "My own SP",
|
||||||
"service": {
|
"service": {
|
||||||
"sp": {
|
"sp": {
|
||||||
"endpoints":{
|
"endpoints": {
|
||||||
"assertion_consumer_service": [
|
"assertion_consumer_service": [
|
||||||
(HOME, BINDING_HTTP_REDIRECT)],
|
(HOME, BINDING_HTTP_REDIRECT)],
|
||||||
"single_logout_service" : [
|
"single_logout_service": [
|
||||||
(HOME+"slo",BINDING_HTTP_REDIRECT)],
|
(HOME + "slo", BINDING_HTTP_REDIRECT)],
|
||||||
},
|
},
|
||||||
"required_attributes": ["surName", "givenName", "mail"],
|
"required_attributes": ["surName", "givenName", "mail"],
|
||||||
"optional_attributes": ["title"],
|
"optional_attributes": ["title"],
|
||||||
@@ -23,21 +23,21 @@ CONFIG = {
|
|||||||
"subject_data": full_path("subject_data.db"),
|
"subject_data": full_path("subject_data.db"),
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"debug" : 1,
|
"debug": 1,
|
||||||
"key_file" : full_path("test.key"),
|
"key_file": full_path("test.key"),
|
||||||
"cert_file" : full_path("test.pem"),
|
"cert_file": full_path("test.pem"),
|
||||||
"xmlsec_binary" : None,
|
"xmlsec_binary": None,
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"local": [full_path("idp_slo_redirect.xml")],
|
"local": [full_path("idp_slo_redirect.xml")],
|
||||||
},
|
},
|
||||||
"virtual_organization" : {
|
"virtual_organization": {
|
||||||
"urn:mace:example.com:it:tek":{
|
"urn:mace:example.com:it:tek": {
|
||||||
"nameid_format" : "urn:oid:1.3.6.1.4.1.1466.115.121.1.15-NameID",
|
"nameid_format": "urn:oid:1.3.6.1.4.1.1466.115.121.1.15-NameID",
|
||||||
"common_identifier": "umuselin",
|
"common_identifier": "umuselin",
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"accepted_time_diff": 60,
|
"accepted_time_diff": 60,
|
||||||
"attribute_map_dir" : full_path("attributemaps"),
|
"attribute_map_dir": full_path("attributemaps"),
|
||||||
"organization": {
|
"organization": {
|
||||||
"name": ("AB Exempel", "se"),
|
"name": ("AB Exempel", "se"),
|
||||||
"display_name": ("AB Exempel", "se"),
|
"display_name": ("AB Exempel", "se"),
|
||||||
@@ -47,7 +47,8 @@ CONFIG = {
|
|||||||
"given_name": "Roland",
|
"given_name": "Roland",
|
||||||
"sur_name": "Hedberg",
|
"sur_name": "Hedberg",
|
||||||
"telephone_number": "+46 70 100 0000",
|
"telephone_number": "+46 70 100 0000",
|
||||||
"email_address": ["tech@eample.com", "tech@example.org"],
|
"email_address": ["tech@eample.com",
|
||||||
|
"tech@example.org"],
|
||||||
"contact_type": "technical"
|
"contact_type": "technical"
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
@@ -1,18 +1,5 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
#
|
#
|
||||||
# Copyright (C) 2007 SIOS Technology, Inc.
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
"""Tests for xmldsig"""
|
"""Tests for xmldsig"""
|
||||||
|
|
||||||
|
@@ -1,19 +1,6 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
#
|
#
|
||||||
# Copyright (C) 2010 Umeå University.
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
"""Tests for saml2.saml"""
|
"""Tests for saml2.saml"""
|
||||||
|
|
||||||
|
@@ -1,19 +1,6 @@
|
|||||||
#!/usr/bin/env pythony
|
#!/usr/bin/env pythony
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
#
|
#
|
||||||
# Copyright (C) 2009 Umeå University.
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
"""Tests for saml2.samlp"""
|
"""Tests for saml2.samlp"""
|
||||||
|
|
||||||
|
@@ -1,19 +1,6 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
#
|
#
|
||||||
# Copyright (C) 2009 Umeå University.
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
"""Tests for saml2.md"""
|
"""Tests for saml2.md"""
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user