Firebase认证在django rest框架中的社会登录



我们正在开发react native应用,django rest框架作为后端。我们希望使用firebase认证进行社交登录。但在这种情况下,如何在django rest框架中验证令牌呢?

对于普通的电子邮件登录,我们使用jwt认证。

现在我不明白我将如何使用JWT认证用户通过我们的应用程序注册和firebase认证用户登录使用社交登录如谷歌,FB和苹果在django rest框架?

我使用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/。

最新更新