{ "info": { "author": "Gregory N. Schmit", "author_email": "gschmi4@uic.edu", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Framework :: Django", "Framework :: Django :: 2.0", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Internet :: WWW/HTTP" ], "description": "Auth Exchange\n#############\n\n.. inclusion-marker-do-not-remove\n\n.. image:: https://readthedocs.org/projects/django-auth-exchange/badge/?version=latest\n :target: https://django-auth-exchange.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\nDocumentation: https://django-auth-exchange.readthedocs.io\n\nSource: https://github.com/gregschmit/django-auth-exchange\n\nPyPI: https://pypi.org/project/django-auth-exchange/\n\nAuth Exchange is a reusable Django app that allows you to authenticate users\nagainst an Exchange/Office365 server (using :code:`exchangelib`).\n\n**The Problem**: I don't want users of my app to remember another password.\n\n**The Solution**: This app allows those users to authenticate using their\nExchange email credentials.\n\n\nHow to Use\n==========\n\n.. code-block:: shell\n\n $ pip install django-auth-exchange\n\nInclude :code:`django_auth_exchange` in your :code:`INSTALLED_APPS`.\n\nAdd :code:`django_auth_exchange.backends.ExchangeAuthBackend` to your\n:code:`AUTHENTICATION_BACKENDS`, e.g.:\n\n.. code-block:: python\n\n AUTHENTICATION_BACKENDS = [\n 'django_auth_exchange.backends.ExchangeAuthBackend',\n 'django.contrib.auth.backends.ModelBackend',\n ]\n\nConfigure at least one domain:\n\n.. code-block:: python\n\n AUTH_EXCHANGE_DOMAIN_SERVERS = {\n 'example.org': 'autodiscover',\n }\n\n\nSettings\n--------\n\n:code:`AUTH_EXCHANGE_CREATE_UNKNOWN_USER` (default: :code:`True`) - Determines\nif users should be created if they are not found in the local database.\n\n:code:`AUTH_EXCHANGE_DEFAULT_DOMAIN` (default: :code:`'example.com'`) - If only\na username is provided, this is the default domain that will be associated.\n\n:code:`AUTH_EXCHANGE_ALLOWED_FORMATS` (default:\n:code:`['email', 'netbios', 'username']`) - This specifies which formats are\nallowed as the username (email means :code:`someuser@example.com`, netbios means\n:code:`EXAMPLE\\someuser`, and username means :code:`someuser`).\n\n:code:`AUTH_EXCHANGE_DOMAIN_SERVERS` (default: :code:`{}`) - This specifies the\ndomains which are allowed to authenticate and the server that should be used for\nauthentication (or :code:`'autodiscover'`). Hint: Office365 uses the server\n:code:`outlook.office365.com`.\n\n:code:`AUTH_EXCHANGE_DOMAIN_USER_PROPERTIES` (default: :code:`{}`) - This\nspecifies the settings we should apply to a user when they are added to the\nlocal database for each domain (e.g., to make all :code:`example.com` users\nsuperusers, do:\n:code:`{'example.com': {'is_staff': True, 'is_superuser': True}}`).\n\n:code:`AUTH_EXCHANGE_NETBIOS_TO_DOMAIN_MAP` (default: :code:`{}`) - This\nspecifies a mapping from NETBIOS names to domain names.\n\n\nContributing\n============\n\nEmail gschmi4@uic.edu if you want to contribute. You must only contribute code\nthat you have authored or otherwise hold the copyright to, and you must\nmake any contributions to this project available under the MIT license.\n\nTo collaborators: don't push using the :code:`--force` option.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/gregschmit/django-auth-exchange", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "django-auth-exchange", "package_url": "https://pypi.org/project/django-auth-exchange/", "platform": "", "project_url": "https://pypi.org/project/django-auth-exchange/", "project_urls": { "Homepage": "https://github.com/gregschmit/django-auth-exchange" }, "release_url": "https://pypi.org/project/django-auth-exchange/0.1.2/", "requires_dist": [ "Django (>=2)", "exchangelib" ], "requires_python": "", "summary": "A reusable Django app for authenticating against Exchange servers.", "version": "0.1.2" }, "last_serial": 5174985, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "9e8f45fa8dc6d9b20a52dc3810278d68", "sha256": "0b40cf0f15fd0051cccaa285bb70ead9bed99c2a687b88812667d6dec86e4e92" }, "downloads": -1, "filename": "django_auth_exchange-0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "9e8f45fa8dc6d9b20a52dc3810278d68", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7502, "upload_time": "2019-04-22T22:59:04", "url": "https://files.pythonhosted.org/packages/d1/57/ee30268e38625efbf17240fe7abc4e2808d4988a0d0a4d6498fbcd35fb9e/django_auth_exchange-0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "52564cb65f84b42dbc651fd9312b0c58", "sha256": "651781e3c0f663795ead2e992059b4c0f40b034c08346aab5e44775773cb9af5" }, "downloads": -1, "filename": "django-auth-exchange-0.1.tar.gz", "has_sig": false, "md5_digest": "52564cb65f84b42dbc651fd9312b0c58", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5852, "upload_time": "2019-04-22T22:59:06", "url": "https://files.pythonhosted.org/packages/04/ea/1d7f1f4708c15fbef6effd49d3823c67c87170728494eeda08e6a892bcfa/django-auth-exchange-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "8034800f78c1b6ff08e4d1016f18318a", "sha256": "10f51fe2600d9a493156338ae511951bddaccea0746ceb4fdf0b00430ce55816" }, "downloads": -1, "filename": "django_auth_exchange-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "8034800f78c1b6ff08e4d1016f18318a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8704, "upload_time": "2019-04-22T23:01:30", "url": "https://files.pythonhosted.org/packages/22/15/79d7e99afedf2c2d3258d53386b6d459ce8b21500578009a42bc8b1f5f7f/django_auth_exchange-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3793a125328de17f3db8149e165dbd55", "sha256": "67171627fe96cf629f9772eca7e4de3895eb93e73f09f5fbbefe43d7da94e344" }, "downloads": -1, "filename": "django-auth-exchange-0.1.1.tar.gz", "has_sig": false, "md5_digest": "3793a125328de17f3db8149e165dbd55", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6171, "upload_time": "2019-04-22T23:01:31", "url": "https://files.pythonhosted.org/packages/e9/68/f2afaf37e949d7d8f15260dbe2f957a9567f14e29c34a7f00c0f27a3c739/django-auth-exchange-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "794bbcaba3119696c36e4ef94fab9b8b", "sha256": "b20cf77509736176ab0e9d89f01dec6e7d65d74c33a5f5ae6ffcd463ca643d0f" }, "downloads": -1, "filename": "django_auth_exchange-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "794bbcaba3119696c36e4ef94fab9b8b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8707, "upload_time": "2019-04-22T23:33:02", "url": "https://files.pythonhosted.org/packages/7b/5a/23aae28ec4d9017606f68b73b2dfef2df2bd97f6ffb6c7f9b7be72f4ba5a/django_auth_exchange-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a06615bc46a1c9863fcdc605d09b2994", "sha256": "2ead29230a73fb3774e6eee40ce820253dda730f8b2dcc4ada73bea95c7c8c8d" }, "downloads": -1, "filename": "django-auth-exchange-0.1.2.tar.gz", "has_sig": false, "md5_digest": "a06615bc46a1c9863fcdc605d09b2994", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6181, "upload_time": "2019-04-22T23:33:03", "url": "https://files.pythonhosted.org/packages/4f/38/1d676f778fedf563f5f4d4fd771a5426c2a2008e4ee567dfe3c59535da59/django-auth-exchange-0.1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "794bbcaba3119696c36e4ef94fab9b8b", "sha256": "b20cf77509736176ab0e9d89f01dec6e7d65d74c33a5f5ae6ffcd463ca643d0f" }, "downloads": -1, "filename": "django_auth_exchange-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "794bbcaba3119696c36e4ef94fab9b8b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8707, "upload_time": "2019-04-22T23:33:02", "url": "https://files.pythonhosted.org/packages/7b/5a/23aae28ec4d9017606f68b73b2dfef2df2bd97f6ffb6c7f9b7be72f4ba5a/django_auth_exchange-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a06615bc46a1c9863fcdc605d09b2994", "sha256": "2ead29230a73fb3774e6eee40ce820253dda730f8b2dcc4ada73bea95c7c8c8d" }, "downloads": -1, "filename": "django-auth-exchange-0.1.2.tar.gz", "has_sig": false, "md5_digest": "a06615bc46a1c9863fcdc605d09b2994", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6181, "upload_time": "2019-04-22T23:33:03", "url": "https://files.pythonhosted.org/packages/4f/38/1d676f778fedf563f5f4d4fd771a5426c2a2008e4ee567dfe3c59535da59/django-auth-exchange-0.1.2.tar.gz" } ] }