{ "info": { "author": "Entr'ouvert", "author_email": "info@entrouvert.org", "bugtrack_url": null, "classifiers": [], "description": "Kerberos authentication for Django\n==================================\n\nProvide Kerberos authentication to Django applications.\n\nPython 2 and 3, Django >1.8 are supported.\n\nBasic usage\n===========\n\nAdd this to your project `urls.py`::\n\n url('^accounts/kerberos/', include('django_kerberos.urls')),\n\nAnd use the default authentication backend, by adding that to your `settings.py` file::\n\n AUTHENTICATION_BACKENDS = (\n 'django_kerberos.backends.KerberosBackend',\n )\n\nSettings\n========\n\n`KERBEROS_HOSTNAME`\n-------------------\n\nHostname for retrieving the service key, the correspondig principal will be\n`HTTP/{KERBEROS_HOSTNAME}@DEFAULT_REAML`, default is `None`. If `None` the hostname\nfrom the request will be used.\n\n`KERBEROS_BACKEND_CREATE`\n-------------------------\n\nWhether to create user if no existing model can be found, default is `False`.\n\n`KERBEROS_BACKEND_ADMIN_REGEXP`\n-------------------------------\n\nA regular expression that the principal must match to get superuser privileges,\ndefault is `None`. A classic example could be `r'^.*/admin$'`.\n\n`KERBEROS_SERVICE_PRINCIPAL`\n-----------------------------------\n\nThe service principal to use when checking a password against the\nKDC, you don't need the secret key for this principal, it should\njust exist inside the Kerberos database as the check is done by\ntrying to get ticket for this service. Default is\nNone. It's used only by the pseudo password haser\nand the login/password authentication backend.\n\n`KERBEROS_KEEP_PASSWORD`\n------------------------\n\nDoes the KerbersoPasswordBackend store a hash of the\nchecked password inside the user model each time a\nuser log in. Default is False. It allows your\nwebsite to provide a backup authentication if\nKerberos is failing or if you ever need to detach\nfrom the realm.\n\nCustom backend\n==============\n\nA custom authentication backend can be used, in this case the signature of the\nauthenticate method must be::\n\n class CustomKerberosBackend(object):\n def authenticate(self, principal=None):\n pass\n\nSample application\n==================\n\nFirst you need to install django-kerberos into your environment like that::\n\n python setup.py install\n\nIf you want to try the sample application you must add this line to your `/etc/hosts` file, absolutely at the beginning::\n\n 127.0.0.1 test.example.com\n\nThen you must connect to your Kerberos administration server and add the\nprincipal HTTP/test.example.com and export its key in a keytab file::\n\n $ kadmin -p myuser/admin\n kadmin: addprinc -randkey HTTP/test.example.com\n kadmin: ktadd -k /tmp/keytab HTTP/test.example.com\n\nFinally you can run the sample::\n\n cd sample; KRB5_KTNAME=FILE:/tmp/keytab python ./manage.py runserver\n\nNow you should be able to login on http://test.example.com:8000/\n\nThe sample project is configured so that all principal ending with `/admin` get\nthe staff and superuser flags. You can change that by editing the key\n`KERBEROS_BACKEND_ADMIN_REGEXP` in `sample/sample/settings.py`.\n\n.. caution::\n Only use A pointers for your domain name or if your domain name is a CNAME alias then create the HTTP principal for the target domain.\n\n Web browsers implementing the SPNEGO HTTP authenticiation protocol\n canonicalize domain names by always resolving to a DNS A record before\n building the corresponding principal. So if you have the following zone::\n\n test.example.com CNAME a.example.com\n a.example.com A a.b.c.d\n\n and if you connect to https://test.example.com then the browser is gonna try\n to get a ticket for the HTTP/a.examepl.com service principal not for\n HTTP/test.example.com.\n\nPseudo hasher\n=============\n\nA pseudo hasher whose import path is `django_kerberos.hashers.KerberosHasher`\nprovide a mean to associate a Django user model to a Kerberos identity.\n\nThe content of the password field must be `kerberos$`.\n\nTo create an user for a principal you can do::\n\n User.objects.create(username=new_username, password='kerberos$' + principal)\n\nLogin/Password backend\n======================\n\nIf your users does not have their browser configured\nfor SPNEGO HTTP authentication you can also provide\na classic login/password form which check passwords\nusing Kerberos.\n\nAutologin\n=========\n\nA template include is provided to implement autologin. It calls the Kerberos\nlogin view using AJAX. AJAX support in the login view makes the view return a\nJSON document containing a boolean value indicating if login was sucessfull.\nIf login is succesfull the current view is reloaded.\n\nTo use this template just add the following code to any of your templates::\n\n {% include \"django_kerberos/autologin.html\" %}\n\nAfter a succesfull login a cookie is created which prevent autologin for the\nnext 15 minutes, to permit login using other methods after an immediate logout.\n\nThe template show an HTML div having the id \"kerberos-autologin\" and containing\nthe text \"Autologin...\" so that you can add CSS styling to it.\n\nThe javascript implementation of autologin is a script named\n\"js/autlogin.html\", it can be reused to implement autologin for other\nproctocols. Its only requirement is to have a view which return 'true' if a\nlogin is successfull on an HTTP GET request. The script provide a javascript\nfunction whose signature is::\n\n autologin(url, callback[. timeout])\n\nurl is the URL of the login view, callback is a javascript function which will\nreceive true or false depending on the login success and timeout is the number\nof seconds after a succesfull login during which autologin is disabled, default\nis 15 minutes.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://dev.entrouvert.org/projects/authentic/", "keywords": "", "license": "AGPLv3 or later", "maintainer": "Benjamin Dauvergne", "maintainer_email": "bdauvergne@entrouvert.com", "name": "django-kerberos", "package_url": "https://pypi.org/project/django-kerberos/", "platform": "", "project_url": "https://pypi.org/project/django-kerberos/", "project_urls": { "Homepage": "http://dev.entrouvert.org/projects/authentic/" }, "release_url": "https://pypi.org/project/django-kerberos/1.4.4/", "requires_dist": [ "six", "django (>1.8)", "pykerberos" ], "requires_python": "", "summary": "Kerberos authentication for Django", "version": "1.4.4" }, "last_serial": 5715720, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "88609cd3fdc0b295a69cd28f4c3f8609", "sha256": "9e66ae37f505e3dabc8edd12f017a22b4a9ebad784f10c6dc7311d0c85df886b" }, "downloads": -1, "filename": "django-kerberos-1.0.0.tar.gz", "has_sig": false, "md5_digest": "88609cd3fdc0b295a69cd28f4c3f8609", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5691, "upload_time": "2014-08-09T01:49:14", "url": "https://files.pythonhosted.org/packages/3e/13/b8e0c22244474e4ec26d3ef2b62b947466f344d4ace60d366de8ac7895e3/django-kerberos-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "e4dfe68dfc0169f7107379a029785b1a", "sha256": "1a514722cbcb9566e16a5a17bdfda98718e925131411e938680de1a2ca20a36e" }, "downloads": -1, "filename": "django-kerberos-1.0.1.tar.gz", "has_sig": false, "md5_digest": "e4dfe68dfc0169f7107379a029785b1a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5695, "upload_time": "2014-08-09T01:52:35", "url": "https://files.pythonhosted.org/packages/d5/cc/59954d1ce0e149e47d1baa97ed4474a42b97e8a97769a69ee160a67f30fb/django-kerberos-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "529e6860055fc0ea709ca79327c741cb", "sha256": "c5e64c8d2b82f0a20a52b2f3b1aec78c164254ea61c300e109d3291263e81933" }, "downloads": -1, "filename": "django-kerberos-1.0.2.tar.gz", "has_sig": false, "md5_digest": "529e6860055fc0ea709ca79327c741cb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5700, "upload_time": "2014-08-09T01:54:54", "url": "https://files.pythonhosted.org/packages/d6/38/3c795eeef4503d42d8e815f681194d4c3d14f7ea65cb3d3a55f67c0cba68/django-kerberos-1.0.2.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "4f8d2222fd7c02eea664fc9141b39a98", "sha256": "11ef8f91d92a032cfc4fc7f29bf95d15defc6c61297a2f2e8777f293b6685bbf" }, "downloads": -1, "filename": "django-kerberos-1.1.0.tar.gz", "has_sig": false, "md5_digest": "4f8d2222fd7c02eea664fc9141b39a98", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9270, "upload_time": "2014-08-12T09:53:40", "url": "https://files.pythonhosted.org/packages/4e/4d/5b8541fe3826c635fcbb31abf1d868b9fa41f2bb03bf72f7b545130f3778/django-kerberos-1.1.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "e7c2a21f7eea544d9609a2d08b7c35b8", "sha256": "4ca254c8204f7f7eaffba88d8756d37a16b75bf1a8b64cf6accc0345bc2a9453" }, "downloads": -1, "filename": "django-kerberos-1.2.1.tar.gz", "has_sig": false, "md5_digest": "e7c2a21f7eea544d9609a2d08b7c35b8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10414, "upload_time": "2014-08-25T20:57:36", "url": "https://files.pythonhosted.org/packages/d0/e5/fd9cbf1e216c999bd71294d21a69e0286bedfb4bae05b8408ddd4681dbe2/django-kerberos-1.2.1.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "4246e91a19ebdaa50b661c054d498bc7", "sha256": "d7fb0edb6889be453dbc096bba364a30020ec767c95a3c0fad1ad4b37eeaa57f" }, "downloads": -1, "filename": "django_kerberos-1.4.0-py2-none-any.whl", "has_sig": false, "md5_digest": "4246e91a19ebdaa50b661c054d498bc7", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 13806, "upload_time": "2016-03-04T17:32:26", "url": "https://files.pythonhosted.org/packages/ae/d9/883266d060529c47da9300a1b7f60ed16eaf3f9c72d31ac772f05f602884/django_kerberos-1.4.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7261089649c6781ac95c4423602f8437", "sha256": "5b265050c91c6d18765b9a4242e2ea8b6d427b974331ee622aa902fd9fd95ac6" }, "downloads": -1, "filename": "django-kerberos-1.4.0.tar.gz", "has_sig": false, "md5_digest": "7261089649c6781ac95c4423602f8437", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12453, "upload_time": "2016-03-04T17:32:12", "url": "https://files.pythonhosted.org/packages/5e/38/e5b101697095f4a0109f8676a6296b12dcda4c06c17b28bda7b2bd6ca25a/django-kerberos-1.4.0.tar.gz" } ], "1.4.1": [ { "comment_text": "", "digests": { "md5": "ba35e870d3a83b525159a48571a9d4d9", "sha256": "c91fd4598095672e25b1c58a65eee741dd570b77fb5a7d68029fa4ec5239163e" }, "downloads": -1, "filename": "django-kerberos-1.4.1.tar.gz", "has_sig": false, "md5_digest": "ba35e870d3a83b525159a48571a9d4d9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12475, "upload_time": "2016-03-04T19:30:31", "url": "https://files.pythonhosted.org/packages/05/82/57947bee50ee2af25d0b5f98ff4e116df30916edb352e4b60ac25b0e3d34/django-kerberos-1.4.1.tar.gz" } ], "1.4.4": [ { "comment_text": "", "digests": { "md5": "9f1a1ffc1102e9534cc897718c4b1776", "sha256": "08ed63580504e7a9f6c96fd026cd7001cd8e20be2cee7882ae69785f66ac478c" }, "downloads": -1, "filename": "django_kerberos-1.4.4-py2-none-any.whl", "has_sig": false, "md5_digest": "9f1a1ffc1102e9534cc897718c4b1776", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 13112, "upload_time": "2019-08-22T15:05:07", "url": "https://files.pythonhosted.org/packages/0c/76/0e8ddd57fabdc563c5207d82299bcf4f410cc653dbe42856bdff968ac761/django_kerberos-1.4.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1d02c53d2b78dcecff7842e283b08c6d", "sha256": "eb0da481a6c49b4648681621aecf54ef1aba7cb7bd1d5cbd7303b35415170d23" }, "downloads": -1, "filename": "django-kerberos-1.4.4.tar.gz", "has_sig": false, "md5_digest": "1d02c53d2b78dcecff7842e283b08c6d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14185, "upload_time": "2019-08-22T15:05:10", "url": "https://files.pythonhosted.org/packages/62/d3/41ed722d699ee264f10e427ffba971ee8e024d63ac25f36fcfa94e0a1725/django-kerberos-1.4.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9f1a1ffc1102e9534cc897718c4b1776", "sha256": "08ed63580504e7a9f6c96fd026cd7001cd8e20be2cee7882ae69785f66ac478c" }, "downloads": -1, "filename": "django_kerberos-1.4.4-py2-none-any.whl", "has_sig": false, "md5_digest": "9f1a1ffc1102e9534cc897718c4b1776", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 13112, "upload_time": "2019-08-22T15:05:07", "url": "https://files.pythonhosted.org/packages/0c/76/0e8ddd57fabdc563c5207d82299bcf4f410cc653dbe42856bdff968ac761/django_kerberos-1.4.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1d02c53d2b78dcecff7842e283b08c6d", "sha256": "eb0da481a6c49b4648681621aecf54ef1aba7cb7bd1d5cbd7303b35415170d23" }, "downloads": -1, "filename": "django-kerberos-1.4.4.tar.gz", "has_sig": false, "md5_digest": "1d02c53d2b78dcecff7842e283b08c6d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14185, "upload_time": "2019-08-22T15:05:10", "url": "https://files.pythonhosted.org/packages/62/d3/41ed722d699ee264f10e427ffba971ee8e024d63ac25f36fcfa94e0a1725/django-kerberos-1.4.4.tar.gz" } ] }