用于登录的 django rest auth facebook 代码

django rest auth facebook code for login

在项目中,我使用 django-rest-auth 进行用户注册和身份验证。我还添加了用于 facebook 登录的代码:

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

在我的项目中 urls.py 我添加

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

但是在 url localhost:8000/rest-auth/facebook 上,我看到带有 2 个参数的表单:访问令牌(已有)和代码。 接下来我的问题是:我可以在没有此代码的情况下通过 facebook 登录吗?如果不能,我如何在没有前端的情况下获取此代码?如何检查工作用户 authentication/registration 与否? PS: SocialApp 已创建,facebook 应用已创建,app id 和 app secret 添加到社交应用。

只需要 "Access Token" 或 "Code" 字段之一。 (我没有测试代码字段,但访问令牌字段有效,代码字段留空)

要使用Access Token,在用户使用Facebook javascript SDK在客户端执行"Login to Facebook"步骤后,您将收到来自Facebook的响应,其中包含用于访问的"accessToken" Facebook 上的数据。只需将此 accessToken 粘贴到 "Access Token" 字段中,它将自动登录 and/or 根据从 Facebook 检索到的数据创建用户帐户。

显然,您随后可以通过将访问令牌发布到 javascript.

中的表单来执行相同的过程

在访问令牌字段中,传递您将从 Facebook 开发人员仪表板(生成和调试)获得的用户访问令牌,代码字段可以留空。它将在您的应用程序中创建用户,并将 return 带有用户详细信息的 JWT 令牌。