{ "info": { "author": "Jan Pazdziora", "author_email": "jan.pazdziora@django.adelton.com", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Framework :: Django", "Framework :: Django :: 2.0", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: Dynamic Content" ], "description": "\n====================================================\n\tDjango identity.external middlewares\n====================================================\n\nSet of middlewares to simplify consumption of external identity\ninformation in Web projects set up with Django Web framework.\n\n---------------------------------------------------\nidentity.external.PersistentRemoteUserMiddlewareVar\n---------------------------------------------------\n\nWhen non-standard (different than ``REMOTE_USER``) environment variable is\nused to pass information about externally authenticated user, this\nmiddleware can be used to customize the variable name without writing\nPython code.\n\nFor example, when consuming the information from some authentication\nHTTP proxy, HTTP request header values are passed as ``HTTP_``-prefixed\nenvironment variables. If the authenticated user name is in ``X-Remote-User``\nHTTP request header, it is available in ``HTTP_X_REMOTE_USER``\nenvironment variable. Setting variable ``REMOTE_USER_VAR`` to\n``HTTP_X_REMOTE_USER``, for example with Apache HTTP Server directive ::\n\n\tSetEnv REMOTE_USER_VAR HTTP_X_REMOTE_USER\n\nand enabling ``identity.external.PersistentRemoteUserMiddlewareVar`` in\n``MIDDLEWARE`` list after\n``django.contrib.auth.middleware.AuthenticationMiddleware`` like ::\n\n\tMIDDLEWARE = [\n\t\t...\n\t\t'django.contrib.auth.middleware.AuthenticationMiddleware',\n\t\t'identity.external.PersistentRemoteUserMiddlewareVar',\n\t\t...\n\t]\n\nwill run ``django.contrib.auth.middleware.PersistentRemoteUserMiddleware``\nwith value from environment variable ``HTTP_X_REMOTE_USER``.\n\n------------------------------------------\nidentity.external.RemoteUserAttrMiddleware\n------------------------------------------\n\nWhen user is externally authenticated, for example via\n``django.contrib.auth.middleware.RemoteUserMiddleware`` or\n``django.contrib.auth.middleware.PersistentRemoteUserMiddleware``, additional\nuser attributes can be provided by the external authentication source.\n\nThis middleware will update user's email address, first and last name,\nand group membership in groups prefixed with ext: with information coming\nfrom environment variables\n\n- ``REMOTE_USER_EMAIL``\n- ``REMOTE_USER_FIRSTNAME``\n- ``REMOTE_USER_LASTNAME``\n- ``REMOTE_USER_GROUP_N``\n- ``REMOTE_USER_GROUP_1``, ``REMOTE_USER_GROUP_2``, ...\n- ``REMOTE_USER_GROUPS``\n\nwhere the ``REMOTE_USER`` prefix of these variables can be changed with the\n``REMOTE_USER_VAR`` environment variable, just like with\n``identity.external.PersistentRemoteUserMiddlewareVar``.\n\nUsers that are in external group ``admins`` (and thus get assigned to group\n``ext:admins`` in Django) will also get the ``is_staff`` flag set and thus\nwill be able to log in to the admin application.\n\nThe ``ext:`` prefixed groups have to be already created in Django database for\nthe user membership to be updated in them.\n\nIn the ``MIDDLEWARE`` list, this middleware has to be listed after the\nauthenticating middleware, for example ::\n\n\tMIDDLEWARE = [\n\t ...\n\t 'django.contrib.auth.middleware.AuthenticationMiddleware',\n\t 'django.contrib.auth.middleware.PersistentRemoteUserMiddleware',\n\t 'identity.external.RemoteUserAttrMiddleware',\n\t ...\n\t]\n\n--------\nSee also\n--------\n\n- *External authentication for Django projects*:\n https://www.adelton.com/django/external-authentication-for-django-projects\n Presentation at EuroPython 2015.\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/adelton/django-identity-external", "keywords": "", "license": "Apache 2.0 License", "maintainer": "", "maintainer_email": "", "name": "django-identity-external", "package_url": "https://pypi.org/project/django-identity-external/", "platform": "", "project_url": "https://pypi.org/project/django-identity-external/", "project_urls": { "Homepage": "https://github.com/adelton/django-identity-external" }, "release_url": "https://pypi.org/project/django-identity-external/0.6.1/", "requires_dist": null, "requires_python": "", "summary": "Django middleware for handling of external identities.", "version": "0.6.1" }, "last_serial": 5244800, "releases": { "0.5": [ { "comment_text": "", "digests": { "md5": "b209f5d3521c366cf716b4e42db875b4", "sha256": "90b81e737334fffe395973723ae0254279048923cbb57c62a6572eadcc67baa4" }, "downloads": -1, "filename": "django-identity-external-0.5.tar.gz", "has_sig": false, "md5_digest": "b209f5d3521c366cf716b4e42db875b4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8026, "upload_time": "2017-04-28T17:29:01", "url": "https://files.pythonhosted.org/packages/06/54/d7d474c69c537035152bb6c5cf016296fdaecb7606a68e6932831cb0838c/django-identity-external-0.5.tar.gz" } ], "0.5.3": [ { "comment_text": "", "digests": { "md5": "23831b119b71ba9ab23bf8e38ce9cc33", "sha256": "bb7a4092feef82392a74581f128868ac95272e6f79fd4b1c44dedb8eab37cbcf" }, "downloads": -1, "filename": "django-identity-external-0.5.3.tar.gz", "has_sig": false, "md5_digest": "23831b119b71ba9ab23bf8e38ce9cc33", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7936, "upload_time": "2019-05-08T20:34:49", "url": "https://files.pythonhosted.org/packages/f3/e9/1001d673376409a4f11b843cec5f3fd41da7f1756a7e4bd611374772eb8c/django-identity-external-0.5.3.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "52ddda32761ebbf5ee6000d3001185c3", "sha256": "f2c53fdbada3aed9fc5be0865778d810340b79e41307660899c7f74a9885a4c8" }, "downloads": -1, "filename": "django-identity-external-0.6.1.tar.gz", "has_sig": false, "md5_digest": "52ddda32761ebbf5ee6000d3001185c3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7831, "upload_time": "2019-05-08T21:13:17", "url": "https://files.pythonhosted.org/packages/6b/47/8040c3cb276c33e9773cc3cd690223a8ee4f6eba9df515b23346f9753c86/django-identity-external-0.6.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "52ddda32761ebbf5ee6000d3001185c3", "sha256": "f2c53fdbada3aed9fc5be0865778d810340b79e41307660899c7f74a9885a4c8" }, "downloads": -1, "filename": "django-identity-external-0.6.1.tar.gz", "has_sig": false, "md5_digest": "52ddda32761ebbf5ee6000d3001185c3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7831, "upload_time": "2019-05-08T21:13:17", "url": "https://files.pythonhosted.org/packages/6b/47/8040c3cb276c33e9773cc3cd690223a8ee4f6eba9df515b23346f9753c86/django-identity-external-0.6.1.tar.gz" } ] }