{ "info": { "author": "jeffrey k eliasen", "author_email": "jeff+drf-advanced-auth@jke.net", "bugtrack_url": null, "classifiers": [ "Framework :: Django", "Framework :: Django :: 1.10", "Framework :: Django :: 1.11", "Framework :: Django :: 1.8", "Framework :: Django :: 1.9", "Framework :: Django :: 2.0", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6" ], "description": "# DRF Advanced Authentication\n\n[Django REST Framework](https://www.django-rest-framework.org/) provides just about everything needed to turn your Django app into a REST-based web application. One area that DRF lacks functionality is in account management, specifically all the non-happy path scenarios related to authentication, namely password changes and password resets. This module aims to simplify setting up a full auth subsystem for your REST application.\n\nThe funcitons provided by this package are:\n\n* login: an endpoint for authenticating a user\n* logout: an endpoint for ending a user's session\n* change password: an endpoint for changing the password of a logged-in user\n* reset password: two endpoints that togehter can be used to reset the password of a logged-out user (lost password, etc)\n\n**Note:** This package is a work in progress (that's why it's not yet at version 1.0). I am active seeking contributions to help with making it more usable, see [\"Contributing\"](#contributing) below.\n\n\n## Installation\n\nInstall the package:\n\n```bash\n$ pip install drf-advanced-auth\n```\n\nAdd it to `INSTALLED_APPS`:\n\n```python\nINSTALLED_APPS = [\n ...\n 'drf_advanced_auth',\n ...\n]\n```\n\nUpdate your URLs by adding the `drf_advanced_auth` urls under whatever prefix you want, and another url named `password_reset_confirm` that you want users to be redirected to when they click the link in the password reset email:\n\n```python\nurlpatterns = [\n url(r'^auth/', include('drf_advanced_auth.urls', namespace='authentication')),\n url(r'^password-reset/update/(?P.*)/(?P.*)', FakeView.as_view(), name='password_reset_confirm'),\n]\n```\n\n\n## Usage\n\n(IN PROGRESS)\n\n\n## Sample App\n\nYou can see a sample app using these fields buy running the following:\n\n```bash\n$ python manage.py migrate\n$ python manage.py loaddata fixtures/base.json\n$ python manage.py runserver\n```\n\nThis app has the following endpoints (assuming they are under the `auth` prefix as shown above):\n\n* `/auth/login/`\n* `/auth/logout/`\n* `/auth/change_password/`\n* `/auth/reset_password_request/`\n* `/auth/reset_password_complete/`\n\nThe username for the admin user is `admin`, and the password is `pass`.\n\n\n\n## Contributing\n\nI am actively seeking contributions to this package. Check the \"Issues\" section of the repository for my current hit list.\n\nIf you have suggestions for other features I am open to hearing them. Use the \"Issues\" section of the repository to start a conversation.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/seawolf42/drf-advanced-auth", "keywords": "drf-advanced-auth", "license": "MIT License", "maintainer": "", "maintainer_email": "", "name": "drf-advanced-auth", "package_url": "https://pypi.org/project/drf-advanced-auth/", "platform": "", "project_url": "https://pypi.org/project/drf-advanced-auth/", "project_urls": { "Homepage": "https://github.com/seawolf42/drf-advanced-auth" }, "release_url": "https://pypi.org/project/drf-advanced-auth/0.2.4/", "requires_dist": [ "Django (>=1.11)" ], "requires_python": "", "summary": "Full authentication and credential management for Django REST Framework", "version": "0.2.4" }, "last_serial": 5245421, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "6685fe62daa6a849779a366df1bbe0b8", "sha256": "9b09636f546efa9b322f314f07c69642f4fbc08f6f5fbdb0279c13e79cb99e72" }, "downloads": -1, "filename": "drf_advanced_auth-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "6685fe62daa6a849779a366df1bbe0b8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13064, "upload_time": "2019-04-10T04:49:01", "url": "https://files.pythonhosted.org/packages/6c/1c/b9187f9b05db7f08de273a72cd34fc37840a6358b9d6d25ac83782fdbd48/drf_advanced_auth-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7fb2887f779d5022b27f2f8f6b755a11", "sha256": "ddb0cc4a42f03b8f9f44d9927bd440b2aec9575ea55afbb70ec8e18d743e1124" }, "downloads": -1, "filename": "drf_advanced_auth-0.1.0.tar.gz", "has_sig": false, "md5_digest": "7fb2887f779d5022b27f2f8f6b755a11", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9472, "upload_time": "2019-04-10T04:49:03", "url": "https://files.pythonhosted.org/packages/51/b2/259883bc6c51a9dc2e9d6c55231e71bac4592c98ea80768e1cd58d64e6c2/drf_advanced_auth-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "b7c2f409fffdac07363fe6b5ff79d5d7", "sha256": "80274bda74b9133bfc4c2c3acbd7f5c16b4867d1439c0a547e8ea6a99a20cfb9" }, "downloads": -1, "filename": "drf_advanced_auth-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "b7c2f409fffdac07363fe6b5ff79d5d7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13060, "upload_time": "2019-04-10T04:57:13", "url": "https://files.pythonhosted.org/packages/5f/d2/074f64f240e23bc9dbf3ae0a546592433c1ca12775bac48132fc97e43a6b/drf_advanced_auth-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "95c6c756d9d2de5f75887c1a6fb10241", "sha256": "88dd31a57225e02b3ae97e050acf6787b696b004a064ed37a44a0ce224254ec4" }, "downloads": -1, "filename": "drf_advanced_auth-0.1.1.tar.gz", "has_sig": false, "md5_digest": "95c6c756d9d2de5f75887c1a6fb10241", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9475, "upload_time": "2019-04-10T04:57:15", "url": "https://files.pythonhosted.org/packages/0a/4a/f8702092d74d7c40bafce47f5c0249e41eb68fd281531c5e96592b965704/drf_advanced_auth-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "0cc4025e37fbdc930bab3a90fb450f36", "sha256": "e80d9d5743f567a6f25f8d5e6c5d57d398646a9d16d7651ed127b3964f55aeb0" }, "downloads": -1, "filename": "drf_advanced_auth-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "0cc4025e37fbdc930bab3a90fb450f36", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13136, "upload_time": "2019-04-10T17:00:42", "url": "https://files.pythonhosted.org/packages/03/cb/54e78748c545180b9a04794544137a1ee49ade70f988cd916291a0d6ce20/drf_advanced_auth-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9c0a063076166fcccddb119a6bf7845b", "sha256": "7347d8125fec391b2bbfab56e1ad1c5cb758519ce3a25712db84675115edc3ae" }, "downloads": -1, "filename": "drf_advanced_auth-0.2.0.tar.gz", "has_sig": false, "md5_digest": "9c0a063076166fcccddb119a6bf7845b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9567, "upload_time": "2019-04-10T17:00:43", "url": "https://files.pythonhosted.org/packages/0d/d7/8ea7df2493f4fbdfbd3e1e882d7590eb8de9dbfad782a9a9945d2bd4bf2f/drf_advanced_auth-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "c19096073dee2050f0aab889fe152b93", "sha256": "62611d430cdce8692b57c6151cd29c3c5a9a9055101abcfa40ce5d4036c455ab" }, "downloads": -1, "filename": "drf_advanced_auth-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "c19096073dee2050f0aab889fe152b93", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13175, "upload_time": "2019-04-10T17:13:48", "url": "https://files.pythonhosted.org/packages/05/be/32b37829cea28de97be0f4cbf2710a03044391e1624b7cc951077c93a831/drf_advanced_auth-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4b1d8daedb8e06f4aa41e1daa083c7c9", "sha256": "b4c389e91664391c258c05e88367f6a5e5e8b2c53bd720037ecb6c11eaf1244a" }, "downloads": -1, "filename": "drf_advanced_auth-0.2.1.tar.gz", "has_sig": false, "md5_digest": "4b1d8daedb8e06f4aa41e1daa083c7c9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9606, "upload_time": "2019-04-10T17:13:50", "url": "https://files.pythonhosted.org/packages/c4/8a/37c8ef6912ba37d599ef254160d6daec65e3ea328c1fe8c6be7fac176e3f/drf_advanced_auth-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "0b467c42ac7a6b912567edfae44087f2", "sha256": "dbb93c659985d3db60e975772573a91ca4833fc36632b899db85f1445068f85b" }, "downloads": -1, "filename": "drf_advanced_auth-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "0b467c42ac7a6b912567edfae44087f2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13218, "upload_time": "2019-04-10T22:43:19", "url": "https://files.pythonhosted.org/packages/63/2d/364026eae0f9d6a144667ae234bb9e19e4324ba6ab195b83e640d4771d8a/drf_advanced_auth-0.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "41ecf8491a64b31ca1e69ff7039fb171", "sha256": "6885825bc79d254726b466785152b2967be72b536ccee6d58a86fcc36c01deaf" }, "downloads": -1, "filename": "drf_advanced_auth-0.2.2.tar.gz", "has_sig": false, "md5_digest": "41ecf8491a64b31ca1e69ff7039fb171", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9654, "upload_time": "2019-04-10T22:43:21", "url": "https://files.pythonhosted.org/packages/36/ce/d468420749223ccffcd1cae58f78393001f0d496ad55bee6012d8b86167e/drf_advanced_auth-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "acd9a3236eafbe325f77fa5749f6447b", "sha256": "91b184b73a30c4c7994801f527c50141000bff287c95d642de17d31673fd23c1" }, "downloads": -1, "filename": "drf_advanced_auth-0.2.3-py3-none-any.whl", "has_sig": false, "md5_digest": "acd9a3236eafbe325f77fa5749f6447b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14205, "upload_time": "2019-05-09T02:14:38", "url": "https://files.pythonhosted.org/packages/9a/a0/26d033ef631f3767483fbf53cdd81cd4c87c4290caf55c63c608258e2e38/drf_advanced_auth-0.2.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0645e337111ac62890bb00c5a2f75a11", "sha256": "e8b39c98fae783f6ad27f3c597c21808b330073f501be6e5261851cba8131e08" }, "downloads": -1, "filename": "drf_advanced_auth-0.2.3.tar.gz", "has_sig": false, "md5_digest": "0645e337111ac62890bb00c5a2f75a11", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10178, "upload_time": "2019-05-09T02:14:39", "url": "https://files.pythonhosted.org/packages/48/5b/1792f886cc55e840971ae4553c4356f25ce807abe26662b3994b4e6d85fc/drf_advanced_auth-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "0b1a0d3a07405bf92cfe06693fad4f1c", "sha256": "723991c34165cb20fb777aab32a5bbce054311725f008ddbe1cf9473606443bd" }, "downloads": -1, "filename": "drf_advanced_auth-0.2.4-py3-none-any.whl", "has_sig": false, "md5_digest": "0b1a0d3a07405bf92cfe06693fad4f1c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14220, "upload_time": "2019-05-09T02:30:28", "url": "https://files.pythonhosted.org/packages/f0/5d/7868ab98d681a9145e566632cc6756350103893288cc382dedfa3badd2e7/drf_advanced_auth-0.2.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8f81053be2c1a4f2863b8f62104f449f", "sha256": "9a2637430ec2c82f7ebdb066ecc2619cdb774c2f945fdd2aeecb8e0ca3377cb3" }, "downloads": -1, "filename": "drf_advanced_auth-0.2.4.tar.gz", "has_sig": false, "md5_digest": "8f81053be2c1a4f2863b8f62104f449f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10188, "upload_time": "2019-05-09T02:30:30", "url": "https://files.pythonhosted.org/packages/80/54/2253a272dfa92d5cfa19a3bab578663084782a612b122f38c5d50143a278/drf_advanced_auth-0.2.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0b1a0d3a07405bf92cfe06693fad4f1c", "sha256": "723991c34165cb20fb777aab32a5bbce054311725f008ddbe1cf9473606443bd" }, "downloads": -1, "filename": "drf_advanced_auth-0.2.4-py3-none-any.whl", "has_sig": false, "md5_digest": "0b1a0d3a07405bf92cfe06693fad4f1c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14220, "upload_time": "2019-05-09T02:30:28", "url": "https://files.pythonhosted.org/packages/f0/5d/7868ab98d681a9145e566632cc6756350103893288cc382dedfa3badd2e7/drf_advanced_auth-0.2.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8f81053be2c1a4f2863b8f62104f449f", "sha256": "9a2637430ec2c82f7ebdb066ecc2619cdb774c2f945fdd2aeecb8e0ca3377cb3" }, "downloads": -1, "filename": "drf_advanced_auth-0.2.4.tar.gz", "has_sig": false, "md5_digest": "8f81053be2c1a4f2863b8f62104f449f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10188, "upload_time": "2019-05-09T02:30:30", "url": "https://files.pythonhosted.org/packages/80/54/2253a272dfa92d5cfa19a3bab578663084782a612b122f38c5d50143a278/drf_advanced_auth-0.2.4.tar.gz" } ] }