微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Flutter google 登录验证 django social auth for google

如何解决Flutter google 登录验证 django social auth for google

我正在创建一个使用 google 登录Flutter android 应用程序。登录后,我会收到 accesstoken 和 idtoken。我想使用这个令牌来验证我的后端,它使用 django social auth 和

  1. 登录并返回验证码,如果用户已经注册
  2. 注册用户登录并返回用户ID和authtoken。

这可能吗?如果是这样,请在线推荐任何文件,或者请说明我应该如何处理。

解决方法

有可能,首先您必须使用 django Rest Framework 创建 api,下面的链接可以帮助您创建后端并为每个用户设置令牌:

https://dev.to/amartyadev/flutter-app-authentication-with-django-backend-1-21cp

然后你必须在你的后端添加社交认证,你可以自己写或者使用下面的链接来使用库:

https://github.com/RealmTeam/django-rest-framework-social-oauth2

采用这种方法后,您必须创建 Flutter 应用程序,以下链接是连接后端和 Flutter 应用程序的有用资源:

https://www.asapdevelopers.com/flutter-login-app-with-python-backend/

,

多年来一次又一次地这样做,我发现下面的解决方案对我很有效。它可以让您清楚地了解谁在做什么。

基本上,您需要:

  1. 用于普通 API 请求的 Django Rest 框架支持的令牌身份验证。大多数情况下,您的应用程序都适用于此。链接:https://www.django-rest-framework.org/api-guide/authentication/#tokenauthentication
  2. Google 或 Facebook 或任何其他登录以在 1 中发出身份验证令牌。因此,FB/Google 有效地缩短了输入用户名和密码的过程。

这是通过以下流程实现的:

  1. 新用户进入并通过 FB/Google 登录
  2. 您获得 Fb/Google 令牌并将其发送到您的后端
  3. 您验证令牌的有效性。从后台重新获取 G/FB 的用户名和邮箱。使用这些详细信息在您的后端创建一个用户帐户。请勿使用从前端提供的电子邮件来创建帐户(假设电子邮件是您的主要唯一用户标识符)

注意:不要忘记检查帐户是否已经存在。如果是,则这是返回用户/登录名,而不是新用户。在这种情况下,验证并返回有效的 Django Rest Token

  1. 3 完成后,发出 Django REST framework Token 以响应 3 中提出的请求。
  2. 4 之后,您的应用中有一个令牌。将此令牌用于正常请求。

快乐编码!很高兴回答后续问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。