{
"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"
}
]
}