{
"info": {
"author": "Tomasz Knapik",
"author_email": "me@tmkn.org",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 5 - Production/Stable",
"Framework :: Django",
"Framework :: Django :: 1.10",
"Framework :: Django :: 1.11",
"Framework :: Django :: 1.8",
"Framework :: Django :: 1.9",
"Framework :: Django :: 2.0",
"Framework :: Django :: 2.1",
"Framework :: Django :: 2.2",
"License :: OSI Approved",
"License :: OSI Approved :: BSD License",
"Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Topic :: Internet :: WWW/HTTP"
],
"description": "django-basic-auth-ip-whitelist\n==============================\n\nThis simple package ships middleware that lets you to set basic authentication\nand IP whitelisting via Django settings.\n\nUse case\n--------\n\nThis package has been created for staging and demo sites that need to be\ncompletely hidden from the Internet behind a password or accessible only to\ncertain IP networks.\n\nRequirements\n------------\n\n- Django 1.8, 1.9, 1.10, 1.11, 2.0, 2.1 or 2.2.\n- Python 3.4, 3.5, 3.6 or 3.7\n\nInstallation\n------------\n\nThe package is on\n`PyPI `__ so you can\njust install if with pip.\n\n.. code:: sh\n\n pip install django-basic-auth-ip-whitelist\n\nConfiguration\n-------------\n\nIn your Django settings you can configure the following settings:\n\n``BASIC_AUTH_LOGIN`` and ``BASIC_AUTH_PASSWORD``\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nCredentials that you want to use with your basic authentication.\n\n``BASIC_AUTH_WHITELISTED_IP_NETWORKS``\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nSet a list of network ranges (strings) compatible with Python\u2019s\n`ipaddress.ip_network `__\nthat you want to be able to access the website without authentication\nfrom. It must be either a string with networks separated by comma or\nPython iterable.\n\n``BASIC_AUTH_REALM``\n~~~~~~~~~~~~~~~~~~~~\n\nString specifying the realm of the default response.\n\nExample settings\n~~~~~~~~~~~~~~~~\n\n.. code:: python\n\n MIDDLEWARE += [\n 'baipw.middleware.BasicAuthIPWhitelistMiddleware'\n ]\n BASIC_AUTH_LOGIN = 'somelogin'\n BASIC_AUTH_PASSWORD = 'greatpassword'\n BASIC_AUTH_WHITELISTED_IP_NETWORKS = [\n '192.168.0.0/28',\n '2001:db00::0/24',\n ]\n\nAdvanced customisation\n----------------------\n\nGetting IP\n~~~~~~~~~~\n\nIf you want to have a custom behaviour when getting IP, you can create a\ncustom function that takes request as a parameter and specify path to it\nin the ``BASIC_AUTH_GET_CLIENT_IP_FUNCTION`` settings, e.g.\n\n.. code:: python\n\n BASIC_AUTH_GET_CLIENT_IP_FUNCTION = 'utils.ip.get_client_ip'\n\n\n``BASIC_AUTH_WHITELISTED_HTTP_HOSTS``\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nSet a list of hosts that your website will be open to without basic\nauthentication. This is useful if your website is hosted under multiple domains\nand you want only one of them to be publicly visible, e.g. by search engines.\n\n**This is by no means a security feature. Please do not use to secure your\nsite.**\n\n.. code:: python\n\n BASIC_AUTH_WHITELISTED_HTTP_HOSTS = [\n 'your-public-domain.com',\n ]\n\n\n``BASIC_AUTH_WHITELISTED_PATHS``\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nSet a list of paths that your website will serve without basic authentication.\nThis can be used to support API integrations for example with third-party\nservices which don't support basic authentication.\n\nPaths listed in the setting ``BASIC_AUTH_WHITELISTED_PATHS`` are treated as roots, and any subpath will be whitelisted too. For example:\n\n.. code:: python\n\n BASIC_AUTH_WHITELISTED_PATHS = [\n '/api',\n ]\n\nThis will open up the path https://mydomain.com/api/, as well as anything\nbelow it, e.g. https://mydomain.com/api/document/1/.\n\n\n``BASIC_AUTH_RESPONSE_TEMPLATE``\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nIf you want to display a different template on the 401 page, please use this\nsetting to point at the template.\n\n.. code:: python\n\n BASIC_AUTH_RESPONSE_TEMPLATE = '401.html'\n\n\n``BASIC_AUTH_RESPONSE_CLASS``\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nIf you want to specify custom response class, you can do so with this setting.\nProvide the path as a string.\n\n.. code:: python\n\n BASIC_AUTH_RESPONSE_CLASS = 'yourmodule.response.CustomUnathorisedResponse'\n\nSkip middleware\n~~~~~~~~~~~~~~~\n\nYou can skip the middleware by setting\n`_skip_basic_auth_ip_whitelist_middleware_check` attribute on the request to\n`True`.\n\n.. code:: python\n\n setattr(request, '_skip_basic_auth_ip_whitelist_middleware_check', True)\n\n\nThis may be handy if you have other middleware that you want to have\nco-existing different middleware that restrict access to the website.\n\n\n",
"description_content_type": "",
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://gitlab.com/tmkn/django-basic-auth-ip-whitelist",
"keywords": "django,basic,authentication,auth,ip,whitelist,whitelisting,http",
"license": "BSD 2-Clause License",
"maintainer": "",
"maintainer_email": "",
"name": "django-basic-auth-ip-whitelist",
"package_url": "https://pypi.org/project/django-basic-auth-ip-whitelist/",
"platform": "",
"project_url": "https://pypi.org/project/django-basic-auth-ip-whitelist/",
"project_urls": {
"Homepage": "https://gitlab.com/tmkn/django-basic-auth-ip-whitelist"
},
"release_url": "https://pypi.org/project/django-basic-auth-ip-whitelist/0.3.1/",
"requires_dist": [
"Django (<=3,>=1.8)"
],
"requires_python": ">=3.4",
"summary": "Hide your Django site behind basic authentication mechanism with IP whitelisting support.",
"version": "0.3.1"
},
"last_serial": 5513980,
"releases": {
"0.1": [
{
"comment_text": "",
"digests": {
"md5": "30e14b5e5c5715c6385ac9de2ee3aa84",
"sha256": "70161bd27db8c78e23a0844eebd06c8a49a72b0146c26edc4ce3ef7787a562f9"
},
"downloads": -1,
"filename": "django_basic_auth_ip_whitelist-0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "30e14b5e5c5715c6385ac9de2ee3aa84",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 4025,
"upload_time": "2018-05-03T19:23:52",
"url": "https://files.pythonhosted.org/packages/66/18/a615e88dc7a33013cc4a2ed03b873998ac4652367e633d8ac45191740ef0/django_basic_auth_ip_whitelist-0.1-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "62e5d651ee17024dda998b80268374b0",
"sha256": "43cfd8e921ed9048c2c7fa183e9b8f19c8e6097749b9811ce0b85dbd27ead037"
},
"downloads": -1,
"filename": "django-basic-auth-ip-whitelist-0.1.tar.gz",
"has_sig": false,
"md5_digest": "62e5d651ee17024dda998b80268374b0",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 3524,
"upload_time": "2018-05-03T19:23:53",
"url": "https://files.pythonhosted.org/packages/80/22/d61d348f899efacdab01e4cd00bcf8660055c806e8078fba277c715d8503/django-basic-auth-ip-whitelist-0.1.tar.gz"
}
],
"0.1.post1": [
{
"comment_text": "",
"digests": {
"md5": "422524b33fc2c8dff25ee96b4be7f64f",
"sha256": "36fca5ea48c4eb573a63f8cda6478098b7cdd2b1cf03712d28361e7c38a2fefc"
},
"downloads": -1,
"filename": "django_basic_auth_ip_whitelist-0.1.post1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "422524b33fc2c8dff25ee96b4be7f64f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 8300,
"upload_time": "2018-05-03T20:09:31",
"url": "https://files.pythonhosted.org/packages/a3/9a/8c503bda4e2bfd69f5bbf889ef43b8268ea1a5402d8e7be8945b60424fc2/django_basic_auth_ip_whitelist-0.1.post1-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "bed95d6e9336d00fd0f21fd00ca21a61",
"sha256": "69a00eac262badf884b66afc96ca1d9f382138b874283b10434d373533c742be"
},
"downloads": -1,
"filename": "django-basic-auth-ip-whitelist-0.1.post1.tar.gz",
"has_sig": false,
"md5_digest": "bed95d6e9336d00fd0f21fd00ca21a61",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 6021,
"upload_time": "2018-05-03T20:09:32",
"url": "https://files.pythonhosted.org/packages/ec/66/1a4a3fe9e403a079861dc12176c50d822d7d2fe1bb1e6ff6b6731ad5905b/django-basic-auth-ip-whitelist-0.1.post1.tar.gz"
}
],
"0.1.post2": [
{
"comment_text": "",
"digests": {
"md5": "e5a3ead58d4921b4ddc74c45c53b301d",
"sha256": "f3a7a434baa4c5be614f860c8665441ace020ce596d7a45093722fe341c7b434"
},
"downloads": -1,
"filename": "django_basic_auth_ip_whitelist-0.1.post2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e5a3ead58d4921b4ddc74c45c53b301d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 7647,
"upload_time": "2018-05-03T20:14:10",
"url": "https://files.pythonhosted.org/packages/63/6e/100263a2e4f8e4352404b88220e2f3a4da6bcb0e32545869606161ccd1d0/django_basic_auth_ip_whitelist-0.1.post2-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "761599141e88f6d22eacf931dc361dbf",
"sha256": "4c6e4e2aa24d8306e7b6bab9524d3c2b62b9896032cb465837818edc72577e1b"
},
"downloads": -1,
"filename": "django-basic-auth-ip-whitelist-0.1.post2.tar.gz",
"has_sig": false,
"md5_digest": "761599141e88f6d22eacf931dc361dbf",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 5337,
"upload_time": "2018-05-03T20:14:11",
"url": "https://files.pythonhosted.org/packages/09/da/597f38cb697f7cbbbb5c77884b699d38d0a0aedff27de02b41e98bbf9207/django-basic-auth-ip-whitelist-0.1.post2.tar.gz"
}
],
"0.1.post3": [
{
"comment_text": "",
"digests": {
"md5": "0ca736bf5e52fce91f84f0797af3cd46",
"sha256": "096ccc073ee9f6de67e4e48a11d488c8041d86d05824ccbaffbc72454c8908ee"
},
"downloads": -1,
"filename": "django_basic_auth_ip_whitelist-0.1.post3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0ca736bf5e52fce91f84f0797af3cd46",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 7582,
"upload_time": "2018-05-03T20:20:15",
"url": "https://files.pythonhosted.org/packages/ea/82/91cb439a0cda654dc8fe749c7f90f066c8c04090e1ac6b467a136f82c2ae/django_basic_auth_ip_whitelist-0.1.post3-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "02141d974b039a48b0611d63bb87c4b0",
"sha256": "df46f1d1f5730a3f07dd0411d91b515f5b369a080b2d816f2e303d48eb1e109b"
},
"downloads": -1,
"filename": "django-basic-auth-ip-whitelist-0.1.post3.tar.gz",
"has_sig": false,
"md5_digest": "02141d974b039a48b0611d63bb87c4b0",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 5333,
"upload_time": "2018-05-03T20:20:16",
"url": "https://files.pythonhosted.org/packages/2b/05/91141b79ecd371a496d25c555f7b3d536c162ee0d67c4db5b93225398f6b/django-basic-auth-ip-whitelist-0.1.post3.tar.gz"
}
],
"0.1a3": [
{
"comment_text": "",
"digests": {
"md5": "dbeebf1136cfd3f3a6b9dd0885440626",
"sha256": "9807a4e5e60a36763247872cceac9375a8a7b897f0bb871fa0cd21b97d324c8f"
},
"downloads": -1,
"filename": "django_basic_auth_ip_whitelist-0.1a3-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "dbeebf1136cfd3f3a6b9dd0885440626",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 3885,
"upload_time": "2018-05-01T21:45:06",
"url": "https://files.pythonhosted.org/packages/f7/3c/c3f0373cffe0146186a64eb22cfc29818f00979dfb7096a3a71943cccb4f/django_basic_auth_ip_whitelist-0.1a3-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "91f5db74afbc48edecb8d26b86aae9f5",
"sha256": "3afa3b1e43210798f73a58f721c33384f26be89ec69bc0ad12ddb745b232d635"
},
"downloads": -1,
"filename": "django-basic-auth-ip-whitelist-0.1a3.tar.gz",
"has_sig": false,
"md5_digest": "91f5db74afbc48edecb8d26b86aae9f5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 3189,
"upload_time": "2018-05-01T21:45:07",
"url": "https://files.pythonhosted.org/packages/82/a1/bd73f56bfef4a9b1f6fc4719ccfd11ddc3e1bec2339e189d5166a2a25f76/django-basic-auth-ip-whitelist-0.1a3.tar.gz"
}
],
"0.2": [
{
"comment_text": "",
"digests": {
"md5": "ff08b67172a8f9877444bd04421459e3",
"sha256": "015d6b6ef7f3a7de9f7ac89ecff81e08a531028813d5818499b6382c713f671c"
},
"downloads": -1,
"filename": "django_basic_auth_ip_whitelist-0.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ff08b67172a8f9877444bd04421459e3",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 12527,
"upload_time": "2018-06-07T19:32:11",
"url": "https://files.pythonhosted.org/packages/05/9d/574bc1e8fa55188374aa026b5f824a2c38472f277410e0beb51347a89eb5/django_basic_auth_ip_whitelist-0.2-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "2938a45bcfbd384af5e4c77a9fb50bb2",
"sha256": "662e23c81657237e1712bd03b5511ed911a3f4731e6a8d2535bb9f829567c750"
},
"downloads": -1,
"filename": "django-basic-auth-ip-whitelist-0.2.tar.gz",
"has_sig": false,
"md5_digest": "2938a45bcfbd384af5e4c77a9fb50bb2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 8506,
"upload_time": "2018-06-07T19:32:16",
"url": "https://files.pythonhosted.org/packages/08/dc/1dc2fd7205d0d1aa9a42ce8e901d67d8db46c8565177873705d7c17520b5/django-basic-auth-ip-whitelist-0.2.tar.gz"
}
],
"0.2.1": [
{
"comment_text": "",
"digests": {
"md5": "3a1fe31af29cbbe561a3683fee396ead",
"sha256": "035edeafe896ec3595be990345b508f18e8fea8e634413f28ab95d16e8fca03d"
},
"downloads": -1,
"filename": "django_basic_auth_ip_whitelist-0.2.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3a1fe31af29cbbe561a3683fee396ead",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.4",
"size": 10125,
"upload_time": "2018-07-20T19:06:12",
"url": "https://files.pythonhosted.org/packages/f6/2a/dff8888437cd3ad129382b165f76446cf9e18eea0ef7943a64ab17052816/django_basic_auth_ip_whitelist-0.2.1-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "8a3065172c0d36251f4d1bbecf1c7315",
"sha256": "879d8bf099f83fdf1b4e037d93ae2c52983d3b8dd5c847468b27567f6f1d8a72"
},
"downloads": -1,
"filename": "django-basic-auth-ip-whitelist-0.2.1.tar.gz",
"has_sig": false,
"md5_digest": "8a3065172c0d36251f4d1bbecf1c7315",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.4",
"size": 7214,
"upload_time": "2018-07-20T19:06:15",
"url": "https://files.pythonhosted.org/packages/70/08/0df53900fc0d39d7f3f98287b4a9fe11c2a07cfe418afd6f0ded4f7318f2/django-basic-auth-ip-whitelist-0.2.1.tar.gz"
}
],
"0.3.1": [
{
"comment_text": "",
"digests": {
"md5": "8f691f21f32f9e89c6115c304fe6b434",
"sha256": "4bff52d286d58fb9931a04d9e967ec3d375fa7037af29993725ebb831e8656b2"
},
"downloads": -1,
"filename": "django_basic_auth_ip_whitelist-0.3.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "8f691f21f32f9e89c6115c304fe6b434",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.4",
"size": 13459,
"upload_time": "2019-07-10T20:55:13",
"url": "https://files.pythonhosted.org/packages/65/a4/9606b282a283032a735cecee0eaba86dc0192c228bec839a4c351a43b5cc/django_basic_auth_ip_whitelist-0.3.1-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "7ecf54c26baab32e7aafeed82b9e9c30",
"sha256": "149627b944d26bf7bbc03421f4fb99d5c166e2d228bd46e55bcfb11c421cf63e"
},
"downloads": -1,
"filename": "django-basic-auth-ip-whitelist-0.3.1.tar.gz",
"has_sig": false,
"md5_digest": "7ecf54c26baab32e7aafeed82b9e9c30",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.4",
"size": 12114,
"upload_time": "2019-07-10T20:55:15",
"url": "https://files.pythonhosted.org/packages/13/b1/4ffc686145a3eb7165d186f1fd47b90e74d2097f05cc9dada26bb0f02aa6/django-basic-auth-ip-whitelist-0.3.1.tar.gz"
}
],
"0.3a0": [
{
"comment_text": "",
"digests": {
"md5": "4608f9452b0b98c0148b15e703a4c00b",
"sha256": "42084baf8803b3daa3d09e218cbc07539fd9df3fe1241d1d0b9c32a9fcea843e"
},
"downloads": -1,
"filename": "django_basic_auth_ip_whitelist-0.3a0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "4608f9452b0b98c0148b15e703a4c00b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.4",
"size": 11332,
"upload_time": "2018-09-23T04:28:27",
"url": "https://files.pythonhosted.org/packages/6e/67/65756e84a2cd5b8b27b44a9d991b7c53fb06ecb7a8d5e2e80f57c5da3556/django_basic_auth_ip_whitelist-0.3a0-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "7bd60cc859ebb5e5973bb8d008999c48",
"sha256": "e959edb048cafad2934f030f69e1c5791757476dc5d822a2bac932ac396351c5"
},
"downloads": -1,
"filename": "django-basic-auth-ip-whitelist-0.3a0.tar.gz",
"has_sig": false,
"md5_digest": "7bd60cc859ebb5e5973bb8d008999c48",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.4",
"size": 9317,
"upload_time": "2018-09-23T04:28:28",
"url": "https://files.pythonhosted.org/packages/c1/cd/abd640ccc7708c78ff860ff9c327422746451922462762b250a17a2dcb00/django-basic-auth-ip-whitelist-0.3a0.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "8f691f21f32f9e89c6115c304fe6b434",
"sha256": "4bff52d286d58fb9931a04d9e967ec3d375fa7037af29993725ebb831e8656b2"
},
"downloads": -1,
"filename": "django_basic_auth_ip_whitelist-0.3.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "8f691f21f32f9e89c6115c304fe6b434",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.4",
"size": 13459,
"upload_time": "2019-07-10T20:55:13",
"url": "https://files.pythonhosted.org/packages/65/a4/9606b282a283032a735cecee0eaba86dc0192c228bec839a4c351a43b5cc/django_basic_auth_ip_whitelist-0.3.1-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "7ecf54c26baab32e7aafeed82b9e9c30",
"sha256": "149627b944d26bf7bbc03421f4fb99d5c166e2d228bd46e55bcfb11c421cf63e"
},
"downloads": -1,
"filename": "django-basic-auth-ip-whitelist-0.3.1.tar.gz",
"has_sig": false,
"md5_digest": "7ecf54c26baab32e7aafeed82b9e9c30",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.4",
"size": 12114,
"upload_time": "2019-07-10T20:55:15",
"url": "https://files.pythonhosted.org/packages/13/b1/4ffc686145a3eb7165d186f1fd47b90e74d2097f05cc9dada26bb0f02aa6/django-basic-auth-ip-whitelist-0.3.1.tar.gz"
}
]
}