Django Rest Framework:如何创建用于通过Gmail(Google)进行日志记录的端点?

时间:2019-02-01 12:56:04

标签: django django-rest-framework django-rest-auth

我正在尝试创建API,并且想知道如何创建用于通过Gmail帐户进行身份验证的终结点。似乎django-rest-auth仅支持Facebook和Twitter。

有人可以给我提示吗?

2 个答案:

答案 0 :(得分:1)

我在我的一个项目中使用Django rest auth,它确实支持Google登录。 它支持django-allauth支持的所有社交提供程序。 Here是django-allauth和django-rest-auth支持的社交服务提供商的列表

# social_auth_view.py

from rest_framework_jwt.authentication import JSONWebTokenAuthentication
from allauth.socialaccount.providers.google.views import GoogleOAuth2Adapter
from rest_auth.registration.views import SocialLoginView

class GoogleLogin(SocialLoginView):
    adapter_class = GoogleOAuth2Adapter

# urls.py
urlpatterns += [
    ...,
    url(r'^rest-auth/google/$', GoogleLogin.as_view(), name='google_login')
]

因此,如果您想支持任何其他社交服务提供商。

  1. allauth.socialaccount.providers为您的社交服务提供商导入适配器。
  2. 创建新视图作为rest_auth.registration.views.SocialLoginView的子类。
  3. 在视图中将步骤1中导入的适配器添加为adapter_class属性。
  4. 将此视图导入urls.py

答案 1 :(得分:0)

相关问题