{
"info": {
"author": "Authors of OpenSlides SAML Plugin, see AUTHORS",
"author_email": "support@openslides.org",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 5 - Production/Stable",
"Environment :: Plugins",
"Environment :: Web Environment",
"Framework :: Django",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6"
],
"description": "============================\n OpenSlides SAML Plugin\n============================\n\nOverview\n========\n\nThis plugin for OpenSlides provides a login via a SAML single sign on\nservice.\n\n\nRequirements\n============\n\n* `OpenSlides 2.2|2.3 `_\n* `python3-saml (>= 1.3.0) `_\n\nNote: python3-saml needs thy python package `xmlsec `_ which depends on `libxml2 `_. Those packages need to be installed on a Debian-like system::\n\n $ apt-get install libxml2-dev libxmlsec1-dev libxmlsec1-openssl pkg-config\n\nFor more information about other operating systems or distributions visit http://pythonhosted.org/xmlsec/install.html.\n\n\nInstall\n=======\n\nThis is only an example instruction to install the plugin on GNU/Linux. It\ncan also be installed as any other python package and on other platforms,\ne. g. on Windows.\n\nChange to a new directory::\n\n $ cd\n $ mkdir OpenSlides\n $ cd OpenSlides\n\nSetup and activate a virtual environment and install OpenSlides and the\nplugin in it::\n\n $ python -m venv .venv\n $ source .venv/bin/activate\n $ pip install openslides-saml\n\nStart OpenSlides::\n\n $ openslides\n\n\nConfiguration\n=============\n\nBefore the first start this line needs to be added to the ``settings.py``::\n\n SETTINGS_FILEPATH = __file__\n\nIf this line isn't there, the plugin will remind you :).\n\nOn startup of OpenSlides the ``saml_settings.json`` is created in the settings folder if\nit does not exist. To force creating this file run::\n\n $ python manage.py create-saml-settings [--dir //]\n\nThe path has to match with the settings path OpenSlides is started with.\n\nFor the first part in the settings file refer to `python3-saml settings documentation\n`_. All settings described there are\nmerged into the ``saml_settings.json``. Also note the ``README`` file in the ``certs``\nfolder next to the ``saml_settings.json``.\n\nGeneral Settings\n----------------\nHere you can provide a custom text for the SAML login button. The `changePasswordUrl`\nredirects the user to the given URL when click on `Change password` in the OpenSlides user\nmenu.\n\nAttributes\n----------\n\nThe identity provider sends attributes to the plugin if a user sucessfully logged in. To\nmap these attributes to attributes of OpenSlides users, the section ``attributeMapping``\nexists. The structure is like this::\n\n \"attributeMapping: {\n \"attributeFromIDP\": [\"attributeOpenSlidesUser\", ],\n \"anotherAttributeFromIDP\": [\"anotherAttributeOpenSlidesUser\", ]\n }\n\nAll available OpenSlides user attributes are:\n\n- ``username``: Has to be unique. Identifies the user.\n- ``first_name``: The user's first name.\n- ``last_name``: The user's last name.\n- ``title``: The title of the user, e.g. \"Dr.\".\n- ``email``: The user's email addreess.\n- ``structure_level``: The structure level.\n- ``number``: The participant number. This field is not unique.\n- ``about_me``: A free text field.\n- ``is_active``, ``is_present``, ``is_committee``: Boolean flags.\n\nTo get detailed information see the `models.py\n`_.\n\nThe ```` has either to be ``true`` or ``false``. All attributes with this\nvalue being true are used to search for an existing user. If the user is found, the user gets\nupdated with all changed values and used to log in. If the user is not found, it will be\ncreated with all values given. Try to choose unique attributes (e.g. the username),\nattributes you are sure about to be unique (e.g. maybe the number) or use a combination of\nattributes.\n\nRequests\n--------\n\nThe metadata and requests are prepared for saml, e.g. the port number is needed. If not specified all these values are taken from the requests meta information:\n\n- ``https``: Either ``on`` or ``off``.\n- ``http_host``: The hostname.\n- ``script_name``: The aquivalent to ``PATH_INFO`` in the meta values.\n- ``server_port``: The port listen by the server.\n\nThese values may be false, because OpenSlides runs on port 8000 behind a webserver\nredirecting the traffic from port 80 to port 8000. In the section ``requestSettings`` you\ncan set these values to overwrite the values get in the meta information.\n\n\nDevelopment\n===========\n\nTo contribute to this plugin please create your own fork and work there in a branch\ndifferent to ``master``. Clone your fork, create a virtual environment and make a link\ninto a development checkout from OpenSlides (refer to `this guide\n`_)::\n\n $ ln -s //openslides_saml //\n\nYou just need to add ``'openslides_saml'`` to your ``settings.py`` to enable this plugin.\n\nFor codestyle currently ``flake8`` and ``isort`` are checking the code. To install them\nrun a ``pip install -r requirements.txt``. Feel free to add unit or integration testing.\n\nHappy contribution :)\n\n\nLicense and authors\n===================\n\nThis plugin is Free/Libre Open Source Software and distributed under the\nMIT License, see LICENSE file. The authors are mentioned in the AUTHORS file.\n\n\nChangelog\n=========\n\nVersion 1.0.1 (2018-10-19)\n--------------------------\n* Support for OpenSlides 2.3\n\n\nVersion 1.0 (2018-06-22)\n------------------------\n* Initial release. Please read the README for every setting and\n possibility for customization.\n* Support for OpenSlides 2.2",
"description_content_type": "",
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/OpenSlides/openslides-saml",
"keywords": "OpenSlides",
"license": "MIT",
"maintainer": "",
"maintainer_email": "",
"name": "openslides-saml",
"package_url": "https://pypi.org/project/openslides-saml/",
"platform": "",
"project_url": "https://pypi.org/project/openslides-saml/",
"project_urls": {
"Homepage": "https://github.com/OpenSlides/openslides-saml"
},
"release_url": "https://pypi.org/project/openslides-saml/1.0.1/",
"requires_dist": null,
"requires_python": "",
"summary": "OpenSlides SAML Plugin",
"version": "1.0.1"
},
"last_serial": 4394426,
"releases": {
"1.0": [
{
"comment_text": "",
"digests": {
"md5": "442f91b67dcb3e015bef6466f1164043",
"sha256": "e9c100a57f5fefc431735b2c0736786f5b113368aca7cc2f133be85f648461e3"
},
"downloads": -1,
"filename": "openslides_saml-1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "442f91b67dcb3e015bef6466f1164043",
"packagetype": "bdist_wheel",
"python_version": "3.6",
"requires_python": null,
"size": 13076,
"upload_time": "2018-06-22T12:04:48",
"url": "https://files.pythonhosted.org/packages/af/8c/8c5d24249dbe32fee015d5064f48e37ec4bb6bc58a84949e2013d68d7929/openslides_saml-1.0-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "ad1b7e57445f59cc5599520017cfeed2",
"sha256": "1733b74e4d4fe8f4ecefcada564a639fda13837b71eff56cd735058ee05a0f03"
},
"downloads": -1,
"filename": "openslides-saml-1.0.tar.gz",
"has_sig": false,
"md5_digest": "ad1b7e57445f59cc5599520017cfeed2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 11178,
"upload_time": "2018-06-22T12:04:46",
"url": "https://files.pythonhosted.org/packages/0c/78/a2217077d6dce7fb39f5e40fa5be6cfff715f627c48851953afbbc511b31/openslides-saml-1.0.tar.gz"
}
],
"1.0.1": [
{
"comment_text": "",
"digests": {
"md5": "7f878d51a2a1b24459d219b30ce1ba60",
"sha256": "c84a0452944a693796d8011aa4ec95bae9c5b6e9dc752c5d6ba77d5feb1bdcf1"
},
"downloads": -1,
"filename": "openslides-saml-1.0.1.tar.gz",
"has_sig": false,
"md5_digest": "7f878d51a2a1b24459d219b30ce1ba60",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 13560,
"upload_time": "2018-10-19T14:38:14",
"url": "https://files.pythonhosted.org/packages/cb/4b/e8894b0174ebb2ec56fad6fb463a4163833f38cd0f0d7cf78df89b8b2488/openslides-saml-1.0.1.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "7f878d51a2a1b24459d219b30ce1ba60",
"sha256": "c84a0452944a693796d8011aa4ec95bae9c5b6e9dc752c5d6ba77d5feb1bdcf1"
},
"downloads": -1,
"filename": "openslides-saml-1.0.1.tar.gz",
"has_sig": false,
"md5_digest": "7f878d51a2a1b24459d219b30ce1ba60",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 13560,
"upload_time": "2018-10-19T14:38:14",
"url": "https://files.pythonhosted.org/packages/cb/4b/e8894b0174ebb2ec56fad6fb463a4163833f38cd0f0d7cf78df89b8b2488/openslides-saml-1.0.1.tar.gz"
}
]
}