{ "info": { "author": "Mozilla Services", "author_email": "services-dev@mozilla.org", "bugtrack_url": null, "classifiers": [ "Framework :: Pylons", "License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)", "Programming Language :: Python", "Topic :: Internet :: WWW/HTTP" ], "description": "=================\npyramid_multiauth\n=================\n\nAn authentication policy for Pyramid that proxies to a stack of other\nauthentication policies.\n\n\nOverview\n========\n\nMultiAuthenticationPolicy is a Pyramid authentication policy that proxies to\na stack of *other* IAuthenticationPolicy objects, to provide a combined auth\nsolution from individual pieces. Simply pass it a list of policies that\nshould be tried in order::\n\n\n policies = [\n IPAuthenticationPolicy(\"127.0.*.*\", principals=[\"local\"])\n IPAuthenticationPolicy(\"192.168.*.*\", principals=[\"trusted\"])\n ]\n authn_policy = MultiAuthenticationPolicy(policies)\n config.set_authentication_policy(authn_policy)\n\nThis example uses the pyramid_ipauth module to assign effective principals\nbased on originating IP address of the request. It combines two such\npolicies so that requests originating from \"127.0.*.*\" will have principal\n\"local\" while requests originating from \"192.168.*.*\" will have principal\n\"trusted\".\n\nIn general, the results from the stacked authentication policies are combined\nas follows:\n\n * authenticated_userid: return userid from first successful policy\n * unauthenticated_userid: return userid from first successful policy\n * effective_principals: return union of principals from all policies\n * remember: return headers from all policies\n * forget: return headers from all policies\n\n\nDeployment Settings\n===================\n\nIt is also possible to specify the authentication policies as part of your\npaste deployment settings. Consider the following example::\n\n [app:pyramidapp]\n use = egg:mypyramidapp\n\n multiauth.policies = ipauth1 ipauth2 pyramid_browserid\n\n multiauth.policy.ipauth1.use = pyramid_ipauth.IPAuthentictionPolicy\n multiauth.policy.ipauth1.ipaddrs = 127.0.*.*\n multiauth.policy.ipauth1.principals = local\n\n multiauth.policy.ipauth2.use = pyramid_ipauth.IPAuthentictionPolicy\n multiauth.policy.ipauth2.ipaddrs = 192.168.*.*\n multiauth.policy.ipauth2.principals = trusted\n\nTo configure authentication from these settings, simply include the multiauth\nmodule into your configurator::\n\n config.include(\"pyramid_multiauth\")\n\nIn this example you would get a MultiAuthenticationPolicy with three stacked\nauth policies. The first two, ipauth1 and ipauth2, are defined as the name of\nof a callable along with a set of keyword arguments. The third is defined as\nthe name of a module, pyramid_browserid, which will be procecesed via the\nstandard config.include() mechanism.\n\nThe end result would be a system that authenticates users via BrowserID, and\nassigns additional principal identifiers based on the originating IP address\nof the request.\n\nIf necessary, the *group finder function* and the *authorization policy* can\nalso be specified from configuration::\n\n [app:pyramidapp]\n use = egg:mypyramidapp\n\n multiauth.authorization_policy = mypyramidapp.acl.Custom\n multiauth.groupfinder = mypyramidapp.acl.groupfinder\n\n ...\n\n\nMultiAuthPolicySelected Event\n=============================\n\nAn event is triggered when one of the multiple policies configured is selected.\n\n::\n\n from pyramid_multiauth import MultiAuthPolicySelected\n\n\n # Track policy used, for prefixing user_id and for logging.\n def on_policy_selected(event):\n print(\"%s (%s) authenticated %s for request %s\" % (event.policy_name,\n event.policy,\n event.userid,\n event.request))\n\n config.add_subscriber(on_policy_selected, MultiAuthPolicySelected)\n\n\n0.9.0 (2016-11-07)\n==================\n\n- Drop support for python 2.6\n\n\n0.8.0 (2016-02-11)\n==================\n\n- Provide ``userid`` attribute in ``MultiAuthPolicySelected`` event.\n- Always notify event when user is identified with authenticated_userid()\n (i.e. through ``effective_principals()`` with group finder callback).\n\n\n0.7.0 (2016-02-09)\n==================\n\n- Add ``get_policies()`` method to retrieve the list of contained authentication\n policies and their respective names.\n\n\n0.6.0 (2016-01-27)\n==================\n\n- Provide the policy name used in settings in the ``MultiAuthPolicySelected``\n event.\n\n\n0.5.0 - 2015-05-19\n==================\n\n- Read authorization policy from settings if present.\n\n\n0.4.0 - 2014-01-02\n==================\n\n- Make authenticated_userid None when groupfinder returns None.\n\n\n0.3.2 - 2013-05-29\n==================\n\n- Fix some merge bustage; this should contain all the things that were\n *claimed* to be contained in the 0.3.1 release, but in fact were not.\n\n\n0.3.1 - 2013-05-15\n==================\n\n- MultiAuthPolicySelected events now include the request object, so you\n can e.g. access the registry from the handler function.\n- Fixed some edge-cases in merging effective_principals with the output\n of the groupfinder callback.\n\n\n0.3.0 - 2012-11-27\n==================\n\n- Support for Python3 via source-level compatibility.\n- Fire a MultiAuthPolicySelected event when a policy is successfully\n used for authentication.\n\n\n0.2.0 - 2012-10-04\n==================\n\n- Add get_policy() method, which can be used to look up the loaded\n sub-policies at runtime.\n\n\n0.1.2 - 2012-01-30\n==================\n\n- Update license to MPL 2.0.\n\n\n0.1.1 - 2011-12-20\n==================\n\n- Compatability with Pyramid 1.3.\n\n\n0.1.0 - 2011-11-11\n==================\n\n- Initial release.", "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/mozilla-services/pyramid_multiauth", "keywords": "web pyramid pylons authentication", "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "pyramid_multiauth", "package_url": "https://pypi.org/project/pyramid_multiauth/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/pyramid_multiauth/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/mozilla-services/pyramid_multiauth" }, "release_url": "https://pypi.org/project/pyramid_multiauth/0.9.0/", "requires_dist": null, "requires_python": null, "summary": "pyramid_multiauth", "version": "0.9.0" }, "last_serial": 2447741, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "f69a25f906b6481c60e858b977d9cb2c", "sha256": "ba338260565312cda6c8435feb51b2c183fc9654b55be86714deb430a887a8dc" }, "downloads": -1, "filename": "pyramid_multiauth-0.1.0.tar.gz", "has_sig": false, "md5_digest": "f69a25f906b6481c60e858b977d9cb2c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7765, "upload_time": "2011-11-11T06:11:17", "url": "https://files.pythonhosted.org/packages/f8/4a/32d5bccdfc661a6676faefa3f685976f486076092f2776c18c825e574816/pyramid_multiauth-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "90c24600077ba59f5eefdd9bcc41c70d", "sha256": "0f0629ca15ca28868b0a49c82062afd20c45854a933bf6a42c0e8d5c524230a8" }, "downloads": -1, "filename": "pyramid_multiauth-0.1.1.tar.gz", "has_sig": false, "md5_digest": "90c24600077ba59f5eefdd9bcc41c70d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8089, "upload_time": "2011-12-20T04:42:34", "url": "https://files.pythonhosted.org/packages/61/29/804c9dcaba1ec4c7d674d720979a838c1d1df9ac0632891ec41f65adda47/pyramid_multiauth-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "cabd8ed5d18ef8ede5cae633f5185d13", "sha256": "00fbf1d35e076b33d0cb78105bc976c4eac4de7cb0e64ef578ea0e808f95bf19" }, "downloads": -1, "filename": "pyramid_multiauth-0.1.2.tar.gz", "has_sig": false, "md5_digest": "cabd8ed5d18ef8ede5cae633f5185d13", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7419, "upload_time": "2012-01-30T01:52:57", "url": "https://files.pythonhosted.org/packages/c9/77/ac673079299f181847e5825b9ced59b292ca8a59cf7c7f0ede43f0868d6c/pyramid_multiauth-0.1.2.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "dedf15e29592d141f0c92d8882af73f7", "sha256": "767dc32e0468265e7fa212c5ab0d49b3aea78a0a18fe12f237e8c2e1848a0918" }, "downloads": -1, "filename": "pyramid_multiauth-0.2.0.tar.gz", "has_sig": false, "md5_digest": "dedf15e29592d141f0c92d8882af73f7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8047, "upload_time": "2012-10-04T12:59:34", "url": "https://files.pythonhosted.org/packages/73/41/d766819e43733485460b016baa743fe6d1737a52ad75ae70cc0a2578aef5/pyramid_multiauth-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "23bfe083e6ec063cd2bb85ee1b7ac1dc", "sha256": "4072ce0e27a694eb1bbd9c5b675432443c6c0591a28d8f3a4d6216b5db348f6e" }, "downloads": -1, "filename": "pyramid_multiauth-0.3.0.tar.gz", "has_sig": false, "md5_digest": "23bfe083e6ec063cd2bb85ee1b7ac1dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8505, "upload_time": "2012-11-27T06:06:25", "url": "https://files.pythonhosted.org/packages/c4/d7/7c1989939f3bf5bc38b1d16d4d4fc98d135ee90a6e5c5cf15b7223818bed/pyramid_multiauth-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "0f6a4aaf1fed0430ab3214af2532211d", "sha256": "373af748009368b681013b330a052836d0abda29e0dff54ba30ebed30a3d3301" }, "downloads": -1, "filename": "pyramid_multiauth-0.3.1.tar.gz", "has_sig": false, "md5_digest": "0f6a4aaf1fed0430ab3214af2532211d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9700, "upload_time": "2013-05-14T22:30:30", "url": "https://files.pythonhosted.org/packages/d3/bb/6c6881b0ebcfca3a120e914dd21e52a2985303f5330561a9234ac3c13558/pyramid_multiauth-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "044e423abc4fb76937ac0c21c1205e9c", "sha256": "c33f357e0a216cd6ef7d143d40d4679c9fb0796a1eabaf1249aeef63ed000828" }, "downloads": -1, "filename": "pyramid_multiauth-0.3.2.tar.gz", "has_sig": false, "md5_digest": "044e423abc4fb76937ac0c21c1205e9c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10135, "upload_time": "2013-05-29T05:44:07", "url": "https://files.pythonhosted.org/packages/ef/75/dc80bf37e535ec4e1775ec7b9eed9b6a025b47b411e7ff937ee0774a19b0/pyramid_multiauth-0.3.2.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "96b372a5b666a536a82b8a9140ebc142", "sha256": "79c1ccb9cdd1bbe906a908a08068c9f04c73c67d2b4447597e44974d8f7412db" }, "downloads": -1, "filename": "pyramid_multiauth-0.4.0.tar.gz", "has_sig": false, "md5_digest": "96b372a5b666a536a82b8a9140ebc142", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8892, "upload_time": "2014-01-02T01:21:59", "url": "https://files.pythonhosted.org/packages/cc/cc/7bb1ef5fdab392c08a0e46491e41d35e17e067300b531542e530186143e3/pyramid_multiauth-0.4.0.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "0849b1d18fe049ef6bb4bb10cdc218ae", "sha256": "bc483f924d69b5b95919457293b0d3781caa9f5b7f8e0a7bf9f83b5078f09cc5" }, "downloads": -1, "filename": "pyramid_multiauth-0.5.0.zip", "has_sig": false, "md5_digest": "0849b1d18fe049ef6bb4bb10cdc218ae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15580, "upload_time": "2015-05-19T14:27:02", "url": "https://files.pythonhosted.org/packages/75/0a/9ba11ba6683ac7e389b87da49f059c5b06028c9bbbe5244079623f4882c8/pyramid_multiauth-0.5.0.zip" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "e860cb7f19adf47fdfaa7ef2ce223eeb", "sha256": "588d0eb20ad43c56aab96436e65c8e3a6d3f882ad14939d27886c6f75dcd95a1" }, "downloads": -1, "filename": "pyramid_multiauth-0.6.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e860cb7f19adf47fdfaa7ef2ce223eeb", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13008, "upload_time": "2016-01-28T09:14:11", "url": "https://files.pythonhosted.org/packages/a0/f2/3711f59198086ab9b1a3ee6760cbf73849c956a3456a649ae4ff484dd448/pyramid_multiauth-0.6.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0ea48c279d6e59b26ce2ca3114b4ef5a", "sha256": "911da083631ddf133afad58993f7ccab07e7044603d513c927916e81688ca0e5" }, "downloads": -1, "filename": "pyramid_multiauth-0.6.0.tar.gz", "has_sig": false, "md5_digest": "0ea48c279d6e59b26ce2ca3114b4ef5a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15226, "upload_time": "2016-01-27T15:45:02", "url": "https://files.pythonhosted.org/packages/f6/ff/b854e6328a2897cc42091fa90aa243df32f12ac92dd12b03253f1130bc0f/pyramid_multiauth-0.6.0.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "d526db3aa8df41caaf200166f5f42b99", "sha256": "c7c90f54204cb90770c746f97fd736695c275c084284a959ed187cf7ddb140ad" }, "downloads": -1, "filename": "pyramid_multiauth-0.7.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d526db3aa8df41caaf200166f5f42b99", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13030, "upload_time": "2016-02-09T09:28:28", "url": "https://files.pythonhosted.org/packages/e9/cb/4bd062f90b9c114cfda1b119d35ff301f077519b30e46808f8aefcb10372/pyramid_multiauth-0.7.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a5529ed4d9a4216d99cce704cade0fd3", "sha256": "8bbba4e6dca87d14dc1f4708cdc1bafe33a52760c79dfc89bb9b72c52e0adbad" }, "downloads": -1, "filename": "pyramid_multiauth-0.7.0.tar.gz", "has_sig": false, "md5_digest": "a5529ed4d9a4216d99cce704cade0fd3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15535, "upload_time": "2016-02-09T09:28:34", "url": "https://files.pythonhosted.org/packages/63/1c/5c8b6ecaf3c809d974bb85ccf9cd46a55989842801c01d05fdde5038620e/pyramid_multiauth-0.7.0.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "98a782d92cff4e3c3db9af99bf8539f2", "sha256": "a460e43223e8fbdaa580ef9319fb2f1299bf6cea9c9496e68169c3a6e07ed523" }, "downloads": -1, "filename": "pyramid_multiauth-0.8.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "98a782d92cff4e3c3db9af99bf8539f2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13196, "upload_time": "2016-02-11T13:44:26", "url": "https://files.pythonhosted.org/packages/e6/da/b76b541fef7de41b27a3a897cc97f9f1db68db02e326b2bcfb170e41bb12/pyramid_multiauth-0.8.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "54fc594d05aa919632a2f5b503e40f5b", "sha256": "535770d3807421c11f891c786cec45407eee71432eaa4d628fa4e6a9b04802d3" }, "downloads": -1, "filename": "pyramid_multiauth-0.8.0.tar.gz", "has_sig": false, "md5_digest": "54fc594d05aa919632a2f5b503e40f5b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15662, "upload_time": "2016-02-11T13:44:35", "url": "https://files.pythonhosted.org/packages/de/7f/46963d26b00ed8fb52c1e56067163f5b1e9ef25b146841636f06009c14c9/pyramid_multiauth-0.8.0.tar.gz" } ], "0.9.0": [ { "comment_text": "", "digests": { "md5": "609b49f705489288ecd0b9f844804143", "sha256": "6cad38c3613db10b45fe7dd5f4b81e43d7ed12c623cbceee7626d4d0dd8a0f52" }, "downloads": -1, "filename": "pyramid_multiauth-0.9.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "609b49f705489288ecd0b9f844804143", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 13317, "upload_time": "2016-11-07T20:04:53", "url": "https://files.pythonhosted.org/packages/59/17/56b6940e6ea5611cf3092dd63584b18260b8ff5bf87e83ecbe4edc8da6b7/pyramid_multiauth-0.9.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ba58c65db25349f069bc7593b70e8e5f", "sha256": "3eda2a01de867ce8e68e8f0f410a7b51be68891e34dc31808992fdf1bcc4f952" }, "downloads": -1, "filename": "pyramid_multiauth-0.9.0.tar.gz", "has_sig": false, "md5_digest": "ba58c65db25349f069bc7593b70e8e5f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17092, "upload_time": "2016-11-07T06:22:16", "url": "https://files.pythonhosted.org/packages/6e/ab/d92fb9ffffca78f79ca1d0b13bccc25bedf108a282127ad02589dcf657cf/pyramid_multiauth-0.9.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "609b49f705489288ecd0b9f844804143", "sha256": "6cad38c3613db10b45fe7dd5f4b81e43d7ed12c623cbceee7626d4d0dd8a0f52" }, "downloads": -1, "filename": "pyramid_multiauth-0.9.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "609b49f705489288ecd0b9f844804143", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 13317, "upload_time": "2016-11-07T20:04:53", "url": "https://files.pythonhosted.org/packages/59/17/56b6940e6ea5611cf3092dd63584b18260b8ff5bf87e83ecbe4edc8da6b7/pyramid_multiauth-0.9.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ba58c65db25349f069bc7593b70e8e5f", "sha256": "3eda2a01de867ce8e68e8f0f410a7b51be68891e34dc31808992fdf1bcc4f952" }, "downloads": -1, "filename": "pyramid_multiauth-0.9.0.tar.gz", "has_sig": false, "md5_digest": "ba58c65db25349f069bc7593b70e8e5f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17092, "upload_time": "2016-11-07T06:22:16", "url": "https://files.pythonhosted.org/packages/6e/ab/d92fb9ffffca78f79ca1d0b13bccc25bedf108a282127ad02589dcf657cf/pyramid_multiauth-0.9.0.tar.gz" } ] }