Merge branch 'master' of https://github.com/rhoerbe/pysaml2 into rhoerbe-master
Conflicts: doc/examples/idp.rst example/idp2/idp.py src/saml2/attributemaps/saml_uri.py src/saml2/sigver.py
This commit is contained in:
@@ -315,6 +315,9 @@ An example might be::
|
|||||||
what values on these attributes that can be returned.
|
what values on these attributes that can be returned.
|
||||||
*name_form*
|
*name_form*
|
||||||
Which name-form that should be used when sending assertions.
|
Which name-form that should be used when sending assertions.
|
||||||
|
Using this information the attribute name in the data source will be mapped to
|
||||||
|
the friendly name, and the saml attribute name will be taken from the uri/oid
|
||||||
|
defined in the attribute map.
|
||||||
|
|
||||||
If restrictions on values are deemed necessary those are represented by
|
If restrictions on values are deemed necessary those are represented by
|
||||||
regular expressions.::
|
regular expressions.::
|
||||||
@@ -612,3 +615,10 @@ A slightly more complex configuration::
|
|||||||
|
|
||||||
Uses metadata files, both local and remote, and will talk to whatever
|
Uses metadata files, both local and remote, and will talk to whatever
|
||||||
IdP that appears in any of the metadata files.
|
IdP that appears in any of the metadata files.
|
||||||
|
|
||||||
|
Other considerations
|
||||||
|
::::::::::::::::::::
|
||||||
|
|
||||||
|
Entity Categories
|
||||||
|
-----------------
|
||||||
|
Entity categories and their attributes are defined in src/saml2/entity_category/<registrar of entcat>.py
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ Depending on how you are going to use PySAML2 you might also need
|
|||||||
* repoze.who
|
* repoze.who
|
||||||
* python-memcache
|
* python-memcache
|
||||||
* memcached
|
* memcached
|
||||||
|
* bsddb3
|
||||||
|
|
||||||
Quick build instructions
|
Quick build instructions
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
@@ -55,3 +56,41 @@ The tests are based on the pypy test environment, so::
|
|||||||
is what you should use. If you don't have py.test, get it it's part of pypy!
|
is what you should use. If you don't have py.test, get it it's part of pypy!
|
||||||
It's really good!
|
It's really good!
|
||||||
|
|
||||||
|
Hints
|
||||||
|
-----
|
||||||
|
|
||||||
|
RHEL/CentOS installation issues
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
A number of packages may not install from pypi. Instead, you may wand to use packages supplies with the OS:
|
||||||
|
|
||||||
|
yum -y install swig openssl-devel m2crypto xmlsec1 pyOpenSSL libffi-devel
|
||||||
|
|
||||||
|
OS X installation issues
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
A number of packages may not install from pypi. Instead, you may wand to use macports:
|
||||||
|
|
||||||
|
sudo port install swig xmlsec py27-m2crypto py27-crypto db53
|
||||||
|
|
||||||
|
Starting with XCode 5.1 there is an issue with unrecognised gcc command line options.
|
||||||
|
A temporary fix is described in http://alyssafrazee.com/dangit-mavericks.html
|
||||||
|
So to install cryptography and bsddb3 you might want to try:
|
||||||
|
sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install cryptography bsddb3
|
||||||
|
|
||||||
|
If the message "ImportError: No module named _bsddb" pops up on starting idp.py, this fix should help:
|
||||||
|
http://marc-abramowitz.com/archives/2007/11/28/hacking-os-xs-python-dbhash-and-bsddb-modules-to-work/
|
||||||
|
|
||||||
|
|
||||||
|
Generate the HTML documentation
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
install Sphinx
|
||||||
|
cd pysaml2/doc
|
||||||
|
make html
|
||||||
|
cd _build
|
||||||
|
|
||||||
|
List implemented signature algorithms
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
For a list of xmldsig algorithtms implemented for signature validation, run this program from the command line:
|
||||||
|
saml2/sigver.py -s
|
||||||
|
|||||||
@@ -138,6 +138,7 @@ class IdentDB(object):
|
|||||||
try:
|
try:
|
||||||
_vals = self.db[userid]
|
_vals = self.db[userid]
|
||||||
except KeyError:
|
except KeyError:
|
||||||
|
logger.debug("failed to find userid %s in IdentDB" % userid)
|
||||||
return res
|
return res
|
||||||
|
|
||||||
for val in _vals.split(" "):
|
for val in _vals.split(" "):
|
||||||
|
|||||||
@@ -124,7 +124,7 @@ if __name__ == "__main__":
|
|||||||
if os.path.isfile(_name):
|
if os.path.isfile(_name):
|
||||||
directory, fname = os.path.split(_name)
|
directory, fname = os.path.split(_name)
|
||||||
amap = AMap(directory, fname, 4 * " ")
|
amap = AMap(directory, fname, 4 * " ")
|
||||||
f = open(_name)
|
f = open(_name, "w")
|
||||||
f.write("%s" % amap)
|
f.write("%s" % amap)
|
||||||
f.close()
|
f.close()
|
||||||
elif os.path.isdir(_name):
|
elif os.path.isdir(_name):
|
||||||
|
|||||||
Reference in New Issue
Block a user