django-rest-auth/docs/installation.rst

107 lines
2.7 KiB
ReStructuredText
Raw Normal View History

2014-10-09 15:01:47 +04:00
Installation
============
1. Add ``rest_auth`` app to INSTALLED_APPS in your django settings.py:
.. code-block:: python
:emphasize-lines: 3,5
INSTALLED_APPS = (
...,
'rest_framework',
'rest_framework.authtoken',
...,
'rest_auth'
)
.. note:: This project depends on ``django-rest-framework`` library, so install it if you haven't done yet. Make sure also you have installed ``rest_framework`` and ``rest_framework.authtoken`` apps
2. Add rest_auth urls:
.. code-block:: python
:emphasize-lines: 3,5
urlpatterns = patterns('',
...,
(r'^rest-auth/', include('rest_auth.urls'))
)
You're good to go now!
Registration (optional)
-----------------------
1. If you want to enable standard registration process you will need to install ``django-allauth`` - see this doc for installation http://django-allauth.readthedocs.org/en/latest/installation.html.
2. Add ``allauth``, ``allauth.account`` and ``rest_auth.registration`` apps to INSTALLED_APPS in your django settings.py:
.. code-block:: python
:emphasize-lines: 3,5
INSTALLED_APPS = (
...,
'allauth',
'allauth.account',
'rest_auth.registration',
)
3. Add rest_auth.registration urls:
.. code-block:: python
:emphasize-lines: 3,5
urlpatterns = patterns('',
...,
(r'^rest-auth/', include('rest_auth.urls'))
(r'^rest-auth/registration/', include('rest_auth.registration.urls'))
)
Social Authenitcation (optional)
--------------------------------
Using ``django-allauth``, ``django-rest-auth`` provides helpful class for creating social media authentication view. Below is an example with Facebook authentication.
1. Add ``allauth.socialaccount`` and ``allauth.socialaccount.providers.facebook`` apps to INSTALLED_APPS in your django settings.py:
.. code-block:: python
:emphasize-lines: 3,5
INSTALLED_APPS = (
...,
'rest_framework',
'rest_framework.authtoken',
'rest_auth'
...,
'allauth',
'allauth.account',
'rest_auth.registration',
...,
'allauth.socialaccount',
'allauth.socialaccount.providers.facebook',
)
2. Create a view as a subclass of ``rest_auth.registration.views.SocialLogin``:
.. code-block:: python
:emphasize-lines: 3,5
from allauth.socialaccount.providers.facebook.views import FacebookOAuth2Adapter
from rest_auth.registration.views import SocialLogin
class FacebookLogin(SocialLogin):
adapter_class = FacebookOAuth2Adapter
3. Create url for FacebookLogin view:
.. code-block:: python
:emphasize-lines: 3,5
urlpatterns += pattern('',
...,
url(r'^social-login/facebook/$', FacebookLogin.as_view(), name='fb_login')
)