{ "info": { "author": "Thomas Schorr", "author_email": "thomas.schorr@haufe-lexware.com", "bugtrack_url": null, "classifiers": [ "Framework :: Zope2", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License" ], "description": "Introduction\n============\n\n.. image:: https://secure.travis-ci.org/Haufe-Lexware/hl.pas.samlplugin.png\n :target: http://travis-ci.org/Haufe-Lexware/hl.pas.samlplugin\n\n.. image:: https://pypip.in/v/hl.pas.samlplugin/badge.png\n :target: https://pypi.python.org/pypi/hl.pas.samlplugin/\n :alt: Latest Version\n\n.. contents::\n\n``hl.pas.samlplugin`` provides a SAML2 plugin for Zope's `PluggableAuthService\n`__. It provides \nthe IExtractionPlugin, IAuthenticationPlugin, IChallengePlugin, ICredentialsResetPlugin\ninterfaces.\n\n``hl.pas.samlplugin`` so far has been tested with OpenAM.\n\nInstallation\n============\n\n#. Add the package to your buildout\n#. Install `xmlsec `__\n#. Run buildout\n#. Restart Zope\n#. Visit your site's Pluggable Auth Service in ZMI and add a SAML2 PAS plugin\n\nConfiguration\n=============\n\nYou will need to provide your IDP with an endpoint configuration for your Zope site containing your sites' \nsettings for AssertionConsumerService and SingleLogoutService. This will be an XML file looking like e.g::\n\n \n \n \n urn:oasis:names:tc:SAML:2.0:nameid-format:transient\n \n \n \n \n \n\nAt the moment the bindings specified in the above example (i.e. HTTP-Redirect for the SingleLogoutService and HTTP-POST \nfor the AssertionConsumerService) are the only ones that are supported. For the authentication request, HTTP-Redirect is used.\n\nPlease refer to available SAML2 documentation for further information.\n\nOn the SAML2 PAS plugins' properties tab, you will need to specify some more properties to make things work:\n\n- the absolute path to the IDP config file. This XML file should be provided by your IDP\n- the service endpoint URL, i.e. http://zopehost:8080/site in the example above\n- the service endpoint entity id as given to the IDP\n- the AuthnContextClass to use with the authentication request\n- the service URL binding to use for the passive session check\n- the absolute path to the xmlsec executable\n- the attribute provided by the IDP that should be used as the users login attribute (i.e. the user id used by Zope)\n- additional user properties given by the IDP that should be stored in the users session\n\nPlease have a look in the ``browser`` and the ``skins/auth`` subdirectories for examples on how to handle login/logout \nfor a CMFSite.\n\nIt seems important to note that this PAS plugin (and the SAML2 protocol) only provides authentication. It is rather likely \nthat you will have to implement your own plugins to provide the IPropertiesPlugin and the IUserEnumerationPlugin interfaces, \nat least if you have to deal with user generated content or want to use the Zope CMF.\n\nCredits\n=======\n\nMost of the code in the saml2 subfolder was taken from the `pysaml2 `__ package.\n\nChangelog\n=========\n\n1.3 (2015-03-02)\n----------------\n\n- keywords\n\n1.2 (2015-02-24)\n----------------\n\n- added parts of the pysaml2 library (https://github.com/rohe/pysaml2) in subdirectory \"saml2\" to fix dependency issues with repoze.who and current Zope versions\n- changed license from GPL to Apache 2.0\n- the \"passive\", \"active\" and \"checksession\" methods now take an optional parameter to override the default AuthnContextClass (from properties) on a per request basis\n\n1.1 (2014-06-04)\n----------------\n\n- pop SAMLart from request form to prevent endless redirect in certain cases\n- handle artifact response encoding correctly\n- updated keywords\n\n1.0 (2014-04-22)\n----------------\n\n- fix test\n\n0.9 (2014-04-17)\n----------------\n\n- added support for artifact service url binding\n\n0.8 (2013-11-25)\n----------------\n\n- added support for AuthnContextClass\n\n0.7.1 (2013-09-06)\n------------------\n\n- require pysaml2 == 1.0.2 (1.0.3 not working)\n\n0.7 (2013-08-19)\n----------------\n\n- Python 2.6 compatibility\n\n0.6 (2013-08-16)\n----------------\n\n- use pysaml2 >= 1.0\n\n0.5 (2013-07-24)\n----------------\n\n- fixed configuration caching issue (when using multiple plugins)\n\n0.4 (2013-07-04)\n----------------\n\n- improved config caching\n- add sample data for unittests\n\n0.3 (2013-07-02)\n----------------\n\n- add icon\n\n\n0.2 (2013-07-02)\n----------------\n\n- fix MANIFEST.in\n\n\n0.1 (2013-07-02)\n----------------\n\n- initial release\n\nContributors\n************\n\n\nDownload\n********", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Haufe-Lexware/hl.pas.samlplugin", "keywords": "saml2 zope pas", "license": "Apache 2.0", "maintainer": null, "maintainer_email": null, "name": "hl.pas.samlplugin", "package_url": "https://pypi.org/project/hl.pas.samlplugin/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/hl.pas.samlplugin/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/Haufe-Lexware/hl.pas.samlplugin" }, "release_url": "https://pypi.org/project/hl.pas.samlplugin/1.3/", "requires_dist": null, "requires_python": null, "summary": "SAML2 authentication for Zope", "version": "1.3" }, "last_serial": 3005921, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "82001f6550c492ab4081e03d06ec8b48", "sha256": "30065af9e7e0855f75c9e2d8fde92438ef5311370bc614ad9cfd39dd42800843" }, "downloads": -1, "filename": "hl.pas.samlplugin-0.1.tar.gz", "has_sig": false, "md5_digest": "82001f6550c492ab4081e03d06ec8b48", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25301, "upload_time": "2013-07-02T10:57:01", "url": "https://files.pythonhosted.org/packages/3d/cb/64cf85f11d7d0fd4a50ae6afbaccf8e849636dae1b3b149c52e5c4a98286/hl.pas.samlplugin-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "530fd5e80fc068c4071909422248819c", "sha256": "e568a26bf862af0382bb0c7b24b4546623f21ec1d4f2ef1db3e4aee772fad120" }, "downloads": -1, "filename": "hl.pas.samlplugin-0.2.tar.gz", "has_sig": false, "md5_digest": "530fd5e80fc068c4071909422248819c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25937, "upload_time": "2013-07-02T11:18:58", "url": "https://files.pythonhosted.org/packages/8f/7d/8a84ec87d0fd950d3a4f21f298c362d520c8ee0b338536871a6f96deff71/hl.pas.samlplugin-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "b76c7cd85228accf43cceb5b2e268039", "sha256": "1bd90d2c5c7333d7095f0cd3e0b90ce7b7c0d9747c56c3f0ca20113f1f196616" }, "downloads": -1, "filename": "hl.pas.samlplugin-0.3.tar.gz", "has_sig": false, "md5_digest": "b76c7cd85228accf43cceb5b2e268039", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26466, "upload_time": "2013-07-02T11:31:11", "url": "https://files.pythonhosted.org/packages/87/59/939fae505ec37fbc4f51d5dd71e99c76ffb2ca6b341cfd20da6d73e63bee/hl.pas.samlplugin-0.3.tar.gz" } ], "0.3dev": [ { "comment_text": "", "digests": { "md5": "9000218a95b0a45d88e1570007260f2f", "sha256": "d607a52b8e7bcef92a2873d546fc5ae286bcc311b00ee2a9c6785e6f4bd8e758" }, "downloads": -1, "filename": "hl.pas.samlplugin-0.3dev.tar.gz", "has_sig": false, "md5_digest": "9000218a95b0a45d88e1570007260f2f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26468, "upload_time": "2013-07-02T11:30:52", "url": "https://files.pythonhosted.org/packages/3a/6d/e7d2ef0cff7fe9de253453da3a33f0e362c469c44df14b5ab975b323161c/hl.pas.samlplugin-0.3dev.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "89a914f7494b7a5bc199605e828976a2", "sha256": "deb33eb34446ef34ef34d34d9ca69bbc4d15175b8dbdb0d60e871ef5b056c009" }, "downloads": -1, "filename": "hl.pas.samlplugin-0.4.tar.gz", "has_sig": false, "md5_digest": "89a914f7494b7a5bc199605e828976a2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27842, "upload_time": "2013-07-04T11:31:14", "url": "https://files.pythonhosted.org/packages/c0/c6/620846e1990b10029fbc430dcf21b61db89762f6dc25ce7b8741874baac7/hl.pas.samlplugin-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "49549214c2f99bac00682222783c2c26", "sha256": "f4e7e409bcd7dc1dd8f120ffdfe964643b781e9431d0fc8dd9398e95ecc48cd2" }, "downloads": -1, "filename": "hl.pas.samlplugin-0.5.tar.gz", "has_sig": false, "md5_digest": "49549214c2f99bac00682222783c2c26", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27669, "upload_time": "2013-07-24T12:29:02", "url": "https://files.pythonhosted.org/packages/0e/a0/a399d5315d023124c5a9f75a809aff8cca8500fdc65e20f59143646c7f1f/hl.pas.samlplugin-0.5.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "33af232db78f018ebf2c8ed3f4fe9d42", "sha256": "5b905c729c3a8cebc60f623a3aece00b34b6480aa8541bb5ffcdc5bdf856f807" }, "downloads": -1, "filename": "hl.pas.samlplugin-0.6.tar.gz", "has_sig": false, "md5_digest": "33af232db78f018ebf2c8ed3f4fe9d42", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27467, "upload_time": "2013-08-16T08:31:53", "url": "https://files.pythonhosted.org/packages/9e/46/ab55e092a7f9b665f1b8134b1859900766065f10b480d464e06a39b6a71a/hl.pas.samlplugin-0.6.tar.gz" } ], "0.7": [ { "comment_text": "", "digests": { "md5": "77bc0a9e164449cae5959ce2012e1a27", "sha256": "66bfbf4835952741c2c4bc8b550cb10f640739f12c9826d29c7b09aaf562f51a" }, "downloads": -1, "filename": "hl.pas.samlplugin-0.7.tar.gz", "has_sig": false, "md5_digest": "77bc0a9e164449cae5959ce2012e1a27", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27486, "upload_time": "2013-08-19T11:45:29", "url": "https://files.pythonhosted.org/packages/da/4e/16db0edba9536cd6277584f60c9127a0dacf87f64960eb815f393f2e8830/hl.pas.samlplugin-0.7.tar.gz" } ], "0.7.1": [ { "comment_text": "", "digests": { "md5": "f40f42aefa255c35c766641f694d9c15", "sha256": "3bf30862092aa55351aeb19502b8ab8f8292b95fbfc5eb611093dd79b40f3502" }, "downloads": -1, "filename": "hl.pas.samlplugin-0.7.1.tar.gz", "has_sig": false, "md5_digest": "f40f42aefa255c35c766641f694d9c15", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27613, "upload_time": "2013-09-06T11:53:39", "url": "https://files.pythonhosted.org/packages/20/6a/71b369567dbf2c1d0a00cbd3f8cf58c3d0b29eb304fed3a74738037bff9a/hl.pas.samlplugin-0.7.1.tar.gz" } ], "0.8": [ { "comment_text": "", "digests": { "md5": "bdd6a68be1d12909b946a33dd28accea", "sha256": "b5f88bc58ab11281a0417595ee40565239e54765a18a818e4278c6bc984850f7" }, "downloads": -1, "filename": "hl.pas.samlplugin-0.8.tar.gz", "has_sig": false, "md5_digest": "bdd6a68be1d12909b946a33dd28accea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28037, "upload_time": "2013-11-25T12:46:36", "url": "https://files.pythonhosted.org/packages/54/0b/40a9e43a3812b96b5a2c40225febb753e90c6c2adc6afcdf21e32deb89bc/hl.pas.samlplugin-0.8.tar.gz" } ], "0.9": [ { "comment_text": "", "digests": { "md5": "b51a37874eb591cb40a05aa2a714c072", "sha256": "986f572e9211a6480fe00c5aa6122d860b6f2d30f83d7dca75344039f0de47cd" }, "downloads": -1, "filename": "hl.pas.samlplugin-0.9.tar.gz", "has_sig": false, "md5_digest": "b51a37874eb591cb40a05aa2a714c072", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30710, "upload_time": "2014-04-17T07:58:35", "url": "https://files.pythonhosted.org/packages/3e/d7/4ca5490ed58fe1e23e20181a799f45cdf2c31b9dbd5920651cf8f17c870b/hl.pas.samlplugin-0.9.tar.gz" } ], "1.0": [ { "comment_text": "", "digests": { "md5": "6295096102f90b224233010ef6235916", "sha256": "1580203d59e890dcba53176de1dc7197c6af09cc39e9a1afe502ec39c43380c7" }, "downloads": -1, "filename": "hl.pas.samlplugin-1.0.tar.gz", "has_sig": false, "md5_digest": "6295096102f90b224233010ef6235916", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30755, "upload_time": "2014-04-22T08:06:36", "url": "https://files.pythonhosted.org/packages/ae/c1/e7b293603e3c018c4239343493a32eeb92c14f572fd5a20b262332153503/hl.pas.samlplugin-1.0.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "346994565cfd0b38da1459eee3d05c99", "sha256": "700e412856a2b81d7468ddfbaa161aac8c5a7e66c0fe5f6ade5e43af8ea13ca0" }, "downloads": -1, "filename": "hl.pas.samlplugin-1.1.tar.gz", "has_sig": false, "md5_digest": "346994565cfd0b38da1459eee3d05c99", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30907, "upload_time": "2014-06-04T07:29:36", "url": "https://files.pythonhosted.org/packages/26/b6/1d64722216a5f6a2c6c94c976491683350f614823878e2333ea013364688/hl.pas.samlplugin-1.1.tar.gz" } ], "1.2": [], "1.3": [ { "comment_text": "", "digests": { "md5": "878ce97b339dbb7c9c2980542d7ce3be", "sha256": "7be7257cbb769a09ec781276a91db03ee0b94833da1d204f4fcbf1e8ba93f656" }, "downloads": -1, "filename": "hl.pas.samlplugin-1.3.tar.gz", "has_sig": false, "md5_digest": "878ce97b339dbb7c9c2980542d7ce3be", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 241683, "upload_time": "2015-03-02T16:02:16", "url": "https://files.pythonhosted.org/packages/0d/16/4aa9d2185b2a5dc5b513ee8a977ece9c101002cbaf6289e1cef23cea2303/hl.pas.samlplugin-1.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "878ce97b339dbb7c9c2980542d7ce3be", "sha256": "7be7257cbb769a09ec781276a91db03ee0b94833da1d204f4fcbf1e8ba93f656" }, "downloads": -1, "filename": "hl.pas.samlplugin-1.3.tar.gz", "has_sig": false, "md5_digest": "878ce97b339dbb7c9c2980542d7ce3be", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 241683, "upload_time": "2015-03-02T16:02:16", "url": "https://files.pythonhosted.org/packages/0d/16/4aa9d2185b2a5dc5b513ee8a977ece9c101002cbaf6289e1cef23cea2303/hl.pas.samlplugin-1.3.tar.gz" } ] }