Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

django rest auth facebook code for login

On project I use django-rest-auth for user registration and authentication. Also i added code for facebook login:

from allauth.socialaccount.providers.facebook.views import FacebookOAuth2Adapter
from rest_auth.registration.views import SocialLoginView

class FacebookOAuth2AdapterFixed(FacebookOAuth2Adapter):

    def __init__(self):
        pass


class FacebookLogin(SocialLoginView):
    adapter_class = FacebookOAuth2Adapter

And in my project urls.py I add

url(r'^rest-auth/facebook/$', FacebookLogin.as_view(), name='fb_login'),

But on url localhost:8000/rest-auth/facebook I see form with 2 parameters: Access token(already have) and code. enter image description here My question is next: Can I login via facebook without this code, and if not, how can I get this code without frontend? How can I check work user authentication/registration or not? PS: SocialApp created, facebook app created, app id and app secret added to social app.

like image 577
Simple runner Avatar asked Jul 08 '16 09:07

Simple runner


People also ask

How do I log into Facebook using Django?

Facebook Login DjangoGo to developers.facebook.com/ click on My Apps and then Create App (If new click on Get Started and create your developer account). Fill in the app name and contact email and click on Create App ID. Note: For Facebook, we can't use 127.0. 0.1 as the callback.

How do I add social login to Django?

Django Setup Set up the initial tables and add a superuser: $ python manage.py migrate Operations to perform: Apply all migrations: admin, contenttypes, auth, sessions Running migrations: Applying contenttypes. 0001_initial... OK Applying auth. 0001_initial... OK Applying admin.


1 Answers

Only one of "Access Token" or "Code" field is required. (I have not tested the Code field but the Access Token field works, with the Code field left blank)

To use Access Token, after the user performs the "Login to Facebook" step on the client side using Facebook javascript SDK, you will receive a response from Facebook which includes "accessToken" for accessing data on Facebook. Simply paste this accessToken into the "Access Token" field and it will automatically login and/or create the user's account from data retrieved from Facebook.

Obviously you can then perform the same process by posting the access token to the form all in javascript.

like image 194
python1981 Avatar answered Oct 05 '22 02:10

python1981