我们正在开发使用 django rest 框架作为后端的 react native 应用程序。我们希望使用 firebase auth 进行社交登录。 但在这种情况下,我将如何在 django rest 框架中验证令牌?
对于正常的电子邮件登录,我们使用 jwt 身份验证。
现在我不知道如何为通过我们的应用程序注册的用户使用 JWT 身份验证,并为使用社交登录(如 django rest 框架中的 google、FB 和 Apple)登录的用户使用 firebase 身份验证?
答案 0 :(得分:0)
我已将 django-allauth
模块与 REST API 和令牌身份验证一起使用。因此,根据我在用户使用社交平台注册时的经验,您只需要编写自定义 CustomLoginView
即可覆盖现有方法 SocialLoginView
。
调用 post 方法后,您可以自定义代码并使用 JWT-Token
生成令牌并将该令牌传递给用户。例如请找到下面的代码
class CustomLoginView(SocialLoginView):
"""
To Customize social login response
"""
def post(self, request, *args, **kwargs):
response = super().post(request, *args, **kwargs)
user = self.user
# check what you get in response from parent class post method.
data['user']['token'] = # Write your logic to get Token for user
return Response(data['user'])
因此,一旦用户拥有 JWT-tokens
,他们就可以在使用应用程序时使用它。
有关详细信息,请参阅 https://dj-rest-auth.readthedocs.io/en/latest/。