{ "info": { "author": "Sultan Imanhodjaev", "author_email": "sultan.imanhodjaev@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Framework :: Django", "Framework :: Django :: 1.8", "Framework :: Django :: 1.9", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5" ], "description": "=============================\ndjango-auth0\n=============================\n\n.. image:: https://codecov.io/gh/imanhodjaev/django-auth0/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/imanhodjaev/django-auth0\n\n.. image:: https://landscape.io/github/imanhodjaev/django-auth0/master/landscape.svg?style=flat\n :target: https://landscape.io/github/imanhodjaev/django-auth0/master\n :alt: Code Health\n\n.. image:: https://travis-ci.org/imanhodjaev/django-auth0.png?branch=master\n :target: https://travis-ci.org/imanhodjaev/django-auth0\n\nDjango Auth0 authentication backend\nBackend implemented against Auth0 `Regular Python application`_\n\n\nQuickstart\n----------\n\n* Install django-auth0 ``$ pip install django-auth0``\n\n* Add ``django_auth0`` to ``INSTALLED_APPS``\n\n* Add ``django_auth0.auth_backend.Auth0Backend`` to ``AUTHENTICATION_BACKENDS``\n\n.. code-block::python\n\n AUTHENTICATION_BACKENDS = [\n \"django_auth0.auth_backend.Auth0Backend\",\n \"django.contrib.auth.backends.ModelBackend\"\n ]\n\n* Add ``django_auth0.context_processors.auth0`` to ``CONTEXT_PROCESSORS`` so necessary template context will be provided\n\n* Include callback urls\n\n.. code-block::python\n\n urlpatterns = [\n ...\n url(r'^auth/', include('django_auth0.urls')),\n )\n\nUpdate ``AUTH0_CALLBACK_URL`` in ``settings.py`` to the following if want to use default authentication handler\n\n.. code-block::python\n AUTH0_CALLBACK_URL = 'http://YOUR_DOMAIN/auth/auth_callback'\n\n\n* Add Auth0 client side JavaScript and initialize it\n\n.. code-block::python\n\n \n \n\nOptions:\n\n1. ``AUTH0_CLIENT_ID`` - Auth0 client app id,\n2. ``AUTH0_SECRET`` - Auth0 app secret,\n3. ``AUTH0_DOMAIN`` - Auth0 subdomain ``YOU_APP.auth0.com``.\n4. ``AUTH0_CALLBACK_URL`` - Auth0 callback url is full url to your callback view like ``https://YOUR_DOMAIN/CALLBACK``\n5. ``AUTH0_SUCCESS_URL`` - Url to redirect once you login successfully\n\nOverriding callback view\nDefault callback view looks like this so you can always write your own and\nset ``AUTH0_CALLBACK_URL`` to your custom view it should be url name.\n\n.. code-block::python\n\n def process_login(request):\n \"\"\"\n Default handler to login user\n :param request: HttpRequest\n \"\"\"\n code = request.GET.get('code', '')\n json_header = {'content-type': 'application/json'}\n token_url = 'https://%s/oauth/token' % settings.AUTH0_DOMAIN\n\n token_payload = {\n 'client_id': settings.AUTH0_CLIENT_ID,\n 'client_secret': settings.AUTH0_SECRET,\n 'redirect_uri': reverse(settings.AUTH0_CALLBACK_URL),\n 'code': code,\n 'grant_type': 'authorization_code'\n }\n\n token_info = requests.post(token_url,\n data=json.dumps(token_payload),\n headers=json_header).json()\n\n url = 'https://%s/userinfo?access_token=%s'\n user_url = url % (settings.AUTH0_DOMAIN, token_info['access_token'])\n user_info = requests.get(user_url).json()\n\n # We're saving all user information into the session\n request.session['profile'] = user_info\n user = authenticate(**user_info)\n\n if user:\n login(request, user)\n return redirect(settings.AUTH0_SUCCESS_URL)\n\n return HttpResponse(status=400)\n\n\n`Sample application`_ is at https://github.com/imanhodjaev/auth0-sample\n\nTODO\n--------\n\n* Improve tests,\n* Add Auth0 user profile model,\n* Add support for settings from Auth0,\n* Move string literals to configuration file\n\nRunning Tests\n--------------\n\nDoes the code actually work?\n\n::\n\n source /bin/activate\n (myenv) $ pip install -r requirements-test.txt\n (myenv) $ python runtests.py\n\nCredits\n---------\n\nTools used in rendering this package:\n\n* Cookiecutter_\n* `cookiecutter-djangopackage`_\n\n.. _Cookiecutter: https://github.com/audreyr/cookiecutter\n.. _`cookiecutter-djangopackage`: https://github.com/pydanny/cookiecutter-djangopackage\n.. _`Sample application`: https://github.com/imanhodjaev/auth0-sample\n.. _`Regular Python application`: https://auth0.com/docs/quickstart/webapp/python/\n\n\n\n\nHistory\n-------\n\n0.0.2 (2016-02-01)\n++++++++++++++++++\n\n* Update documentation\n\n\n0.0.1 (2016-02-01)\n++++++++++++++++++\n\n* First release on PyPI.\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/imanhodjaev/django-auth0", "keywords": "django-auth0 auth0", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "django-auth0", "package_url": "https://pypi.org/project/django-auth0/", "platform": "", "project_url": "https://pypi.org/project/django-auth0/", "project_urls": { "Homepage": "https://github.com/imanhodjaev/django-auth0" }, "release_url": "https://pypi.org/project/django-auth0/0.0.3/", "requires_dist": null, "requires_python": "", "summary": "Django Auth0 authentication background", "version": "0.0.3" }, "last_serial": 2361609, "releases": { "0.0.1": [], "0.0.2": [ { "comment_text": "", "digests": { "md5": "a3711a0acd69fbe16f6d11ff24d52776", "sha256": "50d294ad1be3b2f7b4c22a11d28bb942697acf61e3f21f4a7c48c1f1a856511e" }, "downloads": -1, "filename": "django_auth0-0.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a3711a0acd69fbe16f6d11ff24d52776", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 9549, "upload_time": "2016-06-16T09:10:06", "url": "https://files.pythonhosted.org/packages/2d/bd/d9b49354f38712bba12a2f5b687741f3204c17745da5410d527ff4820426/django_auth0-0.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "24a5e41785a486dc3f051e050b7b1f86", "sha256": "5801d492c1f0830279303028401e739d6ba3017afc3058021c449b2d1851be82" }, "downloads": -1, "filename": "django-auth0-0.0.2.tar.gz", "has_sig": false, "md5_digest": "24a5e41785a486dc3f051e050b7b1f86", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7837, "upload_time": "2016-06-16T04:06:55", "url": "https://files.pythonhosted.org/packages/98/b6/69380336e1217a3557733b3203285a01bc22bbb30d584f780932c66ae77f/django-auth0-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "7d504d3df76442144b90f0c84b9720de", "sha256": "029e1ea2d3a1696ec34aecb8d730af0a7960f734a6382768119452e1f783c50b" }, "downloads": -1, "filename": "django_auth0-0.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7d504d3df76442144b90f0c84b9720de", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 9547, "upload_time": "2016-09-24T18:27:33", "url": "https://files.pythonhosted.org/packages/b8/72/b9ec1605ba003da46e2b2b96e658ee45b05a8fb22ea3abb0152fdf3bc2de/django_auth0-0.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4d3dfcb3712933f674a1e6d73fd21cde", "sha256": "83f1415a7dabaa9a9b52154b2ca5a4c0e11cbb04772dd346ea5ed36a95088bbd" }, "downloads": -1, "filename": "django-auth0-0.0.3.tar.gz", "has_sig": false, "md5_digest": "4d3dfcb3712933f674a1e6d73fd21cde", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8050, "upload_time": "2016-09-24T18:27:30", "url": "https://files.pythonhosted.org/packages/1f/6f/b17ce53618cc28404d06c759576e6ee0da481ba988bfeb94e2baf3016a3f/django-auth0-0.0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7d504d3df76442144b90f0c84b9720de", "sha256": "029e1ea2d3a1696ec34aecb8d730af0a7960f734a6382768119452e1f783c50b" }, "downloads": -1, "filename": "django_auth0-0.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7d504d3df76442144b90f0c84b9720de", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 9547, "upload_time": "2016-09-24T18:27:33", "url": "https://files.pythonhosted.org/packages/b8/72/b9ec1605ba003da46e2b2b96e658ee45b05a8fb22ea3abb0152fdf3bc2de/django_auth0-0.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4d3dfcb3712933f674a1e6d73fd21cde", "sha256": "83f1415a7dabaa9a9b52154b2ca5a4c0e11cbb04772dd346ea5ed36a95088bbd" }, "downloads": -1, "filename": "django-auth0-0.0.3.tar.gz", "has_sig": false, "md5_digest": "4d3dfcb3712933f674a1e6d73fd21cde", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8050, "upload_time": "2016-09-24T18:27:30", "url": "https://files.pythonhosted.org/packages/1f/6f/b17ce53618cc28404d06c759576e6ee0da481ba988bfeb94e2baf3016a3f/django-auth0-0.0.3.tar.gz" } ] }