Easy django rest auth integration for social applications. (currently supports Google and Facebook)
Install package
pip install tfora-social-auth
Add tfora_social_auth
app to INSTALLED_APPS in your django settings.py:
INSTALLED_APPS = [
...
'rest_framework',
'tfora_social_auth',
...
]
python manage.py migrate
from tfora_social_auth.views import ( GoogleSocialAuthView, FacebookSocialAuthView )
urlpatterns = [
path('social/google/', GoogleSocialAuthView.as_view()),
path('social/facebook/', FacebookSocialAuthView.as_view()),
]
- POST with "auth_token".
- Send an "idtoken" as from google to get user information
- POST with "auth_token".
- Send an access token as from facebook to get user information
You can add extra payload data to access token by the following method
from rest_framework_simplejwt.tokens import RefreshToken
class CustomUserModel(AbstractUser):
...
@staticmethod
def get_token(user):
token = RefreshToken.for_user(user)
token["extra_key"] = "extra_value"
return token
...