{ "info": { "author": "Albert Tugushev", "author_email": "albert@tugushev.ru", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Topic :: Internet :: WWW/HTTP" ], "description": "=======================\nDjango Password Session\n=======================\n\nA reusable Django app that will invalidate all active sessions after change password.\n\n*Since Django 1.7 this feature implemented* |warninglink|_.\n\n.. _warninglink: https://docs.djangoproject.com/en/dev/topics/auth/default/#session-invalidation-on-password-change\n\n.. |warninglink| replace:: *out of the box*\n\n.. image:: https://badge.fury.io/py/django-password-session.png\n :target: http://badge.fury.io/py/django-password-session\n\n.. image:: https://api.travis-ci.org/atugushev/django-password-session.png\n :target: https://travis-ci.org/atugushev/django-password-session\n\n.. image:: https://coveralls.io/repos/atugushev/django-password-session/badge.png?branch=master\n :target: https://coveralls.io/r/atugushev/django-password-session?branch=master\n\nInstallation\n------------\n\n1. Install a package.\n\n.. code-block:: bash\n\n $ pip install django-password-session\n\n2. Add \"password_session\" to your INSTALLED_APPS setting:\n\n.. code-block:: python\n\n INSTALLED_APPS = (\n ...\n 'password_session',\n )\n\n3. Add middleware:\n\n.. code-block:: python\n\n MIDDLEWARE_CLASSES = (\n ...\n 'password_session.middleware.CheckPasswordHash',\n ),\n\n4. Make sure that you have the following settings:\n\n.. code-block:: python\n\n INSTALLED_APPS = (\n ...\n 'django.contrib.auth',\n 'django.contrib.contenttypes',\n 'django.contrib.sessions',\n )\n\n AUTHENTICATION_BACKENDS = (\n ...\n 'django.contrib.auth.backends.ModelBackend',\n )\n\n MIDDLEWARE_CLASSES = (\n ...\n 'django.contrib.sessions.middleware.SessionMiddleware',\n 'django.contrib.auth.middleware.AuthenticationMiddleware',\n )\n\n5. To avoid logging out a user from a current session you should update the session by calling the following function directly after change a password:\n\n.. code-block:: python\n\n from password_session import update_session_auth_hash\n update_session_auth_hash(request, user)\n\nExample view\n------------\n\nIt's a very simple view for change password just for demonstrating how to update a current session.\n\n.. code-block:: python\n\n from django.contrib.auth.decorators import login_required\n from django.http import HttpResponse\n \n from password_session import update_session_auth_hash\n \n \n def change_password_view(request):\n user = request.user\n user.set_password(request.POST.get('password'))\n user.save()\n update_session_auth_hash(request, user)\n return HttpResponse(\"Hello, %s! Your password has been changed!\" % user.username)\n\nRequirements\n------------\n\n* Python 2.6+ or 3+\n* Django>=1.3,<1.7", "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/atugushev/django-password-session", "keywords": null, "license": "MIT License", "maintainer": null, "maintainer_email": null, "name": "django-password-session", "package_url": "https://pypi.org/project/django-password-session/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-password-session/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/atugushev/django-password-session" }, "release_url": "https://pypi.org/project/django-password-session/0.3.3/", "requires_dist": null, "requires_python": null, "summary": "A reusable Django app that will invalidate all active sessions after change password.", "version": "0.3.3" }, "last_serial": 1430759, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "e6fad35735a97a33c0d68e5b1e48b355", "sha256": "212e47a2d7e398a0c7b5a2007085bb4988f20c03aa161573c5421699349f2843" }, "downloads": -1, "filename": "django-password-session-0.1.tar.gz", "has_sig": false, "md5_digest": "e6fad35735a97a33c0d68e5b1e48b355", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3431, "upload_time": "2014-01-10T12:54:05", "url": "https://files.pythonhosted.org/packages/61/02/eaccfdfee69372c471c1b46eace4cf958eff50fb13f5174a0e279e0f3be2/django-password-session-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "c14514a7782c758069e0d016b3509f07", "sha256": "2fcb139e4f81e3e7c9a3b7817469455ecadd22819522d81ebcbf7c9de5d5b8d4" }, "downloads": -1, "filename": "django-password-session-0.2.tar.gz", "has_sig": false, "md5_digest": "c14514a7782c758069e0d016b3509f07", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3990, "upload_time": "2014-01-10T14:56:45", "url": "https://files.pythonhosted.org/packages/75/fe/d5aaaf1f393385e8ba570292d29074e7c1e8b00e177143de8eea1bdb88ea/django-password-session-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "f94379a5ab9f2ea60069d3e7a4dda0d6", "sha256": "d7feaea40e0ec75d0f14af872ecf5aedf9f8aa3fe3ccd9bd30f78bea36051976" }, "downloads": -1, "filename": "django-password-session-0.3.tar.gz", "has_sig": false, "md5_digest": "f94379a5ab9f2ea60069d3e7a4dda0d6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3893, "upload_time": "2014-06-18T10:35:51", "url": "https://files.pythonhosted.org/packages/6f/98/bcdf5648082b466c8b357b3ed35ebffd5b5da22810a20edc2d26e63bf765/django-password-session-0.3.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "bccde30fe549161e896eecf721e22d98", "sha256": "657af0428da07128547712574352c03cf446a756037bf2911131d64840cfb47a" }, "downloads": -1, "filename": "django-password-session-0.3.1.tar.gz", "has_sig": false, "md5_digest": "bccde30fe549161e896eecf721e22d98", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3858, "upload_time": "2014-08-12T10:22:27", "url": "https://files.pythonhosted.org/packages/82/fa/afa44e4e491bb3285d7bd0f6555e8ce3b7656f11a0d81a0119c204ed9ddb/django-password-session-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "255369df3ba68a5fe8dec898b79c662c", "sha256": "81d8df11a3c40394fa07683c58a5b6adbbb43fc81cb9e577827be8ce35a2c420" }, "downloads": -1, "filename": "django-password-session-0.3.2.tar.gz", "has_sig": false, "md5_digest": "255369df3ba68a5fe8dec898b79c662c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3953, "upload_time": "2014-08-20T13:07:28", "url": "https://files.pythonhosted.org/packages/e0/e3/d33d39c29e3d331b906925e2b03bf3513aeeda0b3f6d6b08ae73c1f8b424/django-password-session-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "4c58971470f9d1492e74011c3ea91207", "sha256": "9203604e1b82d7774eb28bef22ab42c81f227c452128c506e0a83757f9aa530e" }, "downloads": -1, "filename": "django-password-session-0.3.3.tar.gz", "has_sig": false, "md5_digest": "4c58971470f9d1492e74011c3ea91207", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3956, "upload_time": "2015-02-20T05:11:25", "url": "https://files.pythonhosted.org/packages/77/e0/21c6c40d784726fd19c39493f9867e5738ffa0ed4a5aad6b8362602ad1e2/django-password-session-0.3.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4c58971470f9d1492e74011c3ea91207", "sha256": "9203604e1b82d7774eb28bef22ab42c81f227c452128c506e0a83757f9aa530e" }, "downloads": -1, "filename": "django-password-session-0.3.3.tar.gz", "has_sig": false, "md5_digest": "4c58971470f9d1492e74011c3ea91207", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3956, "upload_time": "2015-02-20T05:11:25", "url": "https://files.pythonhosted.org/packages/77/e0/21c6c40d784726fd19c39493f9867e5738ffa0ed4a5aad6b8362602ad1e2/django-password-session-0.3.3.tar.gz" } ] }