我正在尝试创建API,我想知道如何创建用于通过Gmail帐户进行身份验证的端点。似乎django-rest-auth
只支持Facebook和Twitter。
有人可以给我小费吗?
我在我的一个项目中使用了 Django rest auth,它确实支持 Google 登录。它支持django-allauth
支持的所有社交提供者。以下是 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')
]
因此,如果您想支持任何其他社交提供者。
- 从
allauth.socialaccount.providers
导入社交提供商的适配器。 - 创建新视图作为
rest_auth.registration.views.SocialLoginView
的子类。 - 将步骤 1 中导入的适配器添加为视图中的
adapter_class
属性。 - 在 urls.py 中导入此视图
试试 django-rest-framework-social-oauth2